Re: [PATCH v2] geceric/362: check truncate can update file size correctly when truncate fails

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Fri, Jul 01, 2016 at 03:05:41PM +0800, Wang Xiaoguang wrote:
> hello,
> 
> On 07/01/2016 10:55 AM, Eryu Guan wrote:
> > On Fri, Jul 01, 2016 at 10:28:28AM +0800, Wang Xiaoguang wrote:
> > > hello,
> > > 
> > > On 06/30/2016 09:52 PM, Eryu Guan wrote:
> > > > On Thu, Jun 30, 2016 at 04:25:49PM +0800, Wang Xiaoguang wrote:
> > > > > In btrfs, when truncate operation fails for enospc reason, file may still
> > > > > have some disk blocks, but it will fail to update filesize accordingly.
> > > > > 
> > > > > Kernel commit c0d2f61 has fixed this bug for btrfs:
> > > > >       btrfs: fix disk_i_size update bug when ftruncate() fails
> > > > > 
> > > > > Signed-off-by: Wang Xiaoguang <wangxg.fnst@xxxxxxxxxxxxxx>
> > > > > ---
> > > > > v2: move this test to generic test and add comments why testcase
> > > > > use reflink.
> > > > Thanks for the updated version. Did it fail for you when testing on
> > > > unpatched kernel? I ran the test more than 10 times on 4.6 kernel (which
> > > > doesn't have the fix) and all passed, as well as RHEL7 kernel.
> > > > 
> > > > Can you please confirm?
> > > I tested this case in v4.6-rc7-162-g415b35a and it failed as expected,
> > > but I used the newest version btrfs-progs.
> > > In RHEL7.2ga, its btrfs-progs version is btrfs-progs-3.19.1-1.el7.x86_64,
> > > which is somewhat old. For small fs, it'll enable mixed mode for data and
> > > metadata default, so the reflink operation in this test case does not
> > > consume
> > > enough metadata, truncate operation can still succeed, then test will always
> > > pass. I can create a big fs to have test, but then this fs will have more
> > > metadata, which then need more reflink operations to consume metadata and
> > > increase the test time greatly.
> > > 
> > > In mkfs.btrfs manpage, there is such description:
> > >       versions up to 4.2.x forced the mixed mode for devices smaller
> > >       than 1GiB. This has been removed in 4.3+ as it caused some
> > >       usability issues.
> > I also tested on 4.6 kernel with v4.6 btrfs-progs, it passed 10+ times
> > without a fail. I was testing on a 4vcpu kvm guest with 8G memory,
> > TEST_DEV and SCRATCH_DEV are all 15G in size, not sure if that matters.
> Sorry, I run this test case in v4.6, it still failed.
> Would you please give me your kernel version and btrfs-progs version,
> like this format: v4.6-rc7-162-g415b35a, which is generated by "describe",
> then I can do some further investigation, thanks.

kernel v4.6 released version (tag v4.6), btrfs-progs "b9b0210 Btrfs progs
v4.6". Thanks for looking into this!

Eryu
--
To unsubscribe from this list: send the line "unsubscribe fstests" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux