From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from cn.fujitsu.com ([59.151.112.132]:64036 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752043AbcGAHZB (ORCPT ); Fri, 1 Jul 2016 03:25:01 -0400 Received: from G08CNEXCHPEKD01.g08.fujitsu.local (unknown [10.167.33.80]) by cn.fujitsu.com (Postfix) with ESMTP id 459FA41C0BBD for ; Fri, 1 Jul 2016 15:07:20 +0800 (CST) Subject: Re: [PATCH v2] geceric/362: check truncate can update file size correctly when truncate fails References: <20160623082718.GF3226@eguan.usersys.redhat.com> <20160630082549.27201-1-wangxg.fnst@cn.fujitsu.com> <20160630135237.GG23649@eguan.usersys.redhat.com> <5775D54C.6070001@cn.fujitsu.com> <20160701025523.GN23649@eguan.usersys.redhat.com> From: Wang Xiaoguang Message-ID: <57761645.5060806@cn.fujitsu.com> Date: Fri, 1 Jul 2016 15:05:41 +0800 MIME-Version: 1.0 In-Reply-To: <20160701025523.GN23649@eguan.usersys.redhat.com> Content-Type: text/plain; charset="utf-8"; format=flowed Sender: fstests-owner@vger.kernel.org Content-Transfer-Encoding: quoted-printable To: fstests@vger.kernel.org List-ID: 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 according= ly. >>>> >>>> Kernel commit c0d2f61 has fixed this bug for btrfs: >>>> btrfs: fix disk_i_size update bug when ftruncate() fails >>>> >>>> Signed-off-by: Wang Xiaoguang >>>> --- >>>> 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 (wh= ich >>> 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 m= ore >> metadata, which then need more reflink operations to consume metadata = and >> increase the test time greatly. >> >> In mkfs.btrfs manpage, there is such description=EF=BC=9A >> 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. Regards, Xiaoguang Wang > > Thanks, > Eryu > >