From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Chinner Subject: Re: [PATCH 6/6] ext4/242: Add ext4 specific test for fallocate zero range Date: Wed, 26 Feb 2014 08:50:11 +1100 Message-ID: <20140225215011.GF13647@dastard> References: <1393355728-12056-1-git-send-email-lczerner@redhat.com> <1393355728-12056-6-git-send-email-lczerner@redhat.com> <20140225205349.GD13647@dastard> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, xfs@oss.sgi.com To: =?utf-8?B?THVrw6HFoQ==?= Czerner Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-ext4.vger.kernel.org On Tue, Feb 25, 2014 at 10:01:06PM +0100, Luk=C3=A1=C5=A1 Czerner wrote= : > On Wed, 26 Feb 2014, Dave Chinner wrote: >=20 > > Date: Wed, 26 Feb 2014 07:53:49 +1100 > > From: Dave Chinner > > To: Lukas Czerner > > Cc: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, xfs@= oss.sgi.com > > Subject: Re: [PATCH 6/6] ext4/242: Add ext4 specific test for fallo= cate zero > > range > >=20 > > On Tue, Feb 25, 2014 at 08:15:28PM +0100, Lukas Czerner wrote: > > > This is copy of xfs/242. However it's better to make it file syst= em > > > specific because the range can be zeroes either directly by writi= ng > > > zeroes, or converting to unwritten extent, so the actual result m= ight > > > differ from file system to file system. > >=20 > > You could say the same thing about preallocation using unwritten > > extents. Yet, funnily enough, we have generic tests for them becaus= e > > all filesystems currently use unwritten extents for preallocation > > and behave identically.... > >=20 > > This test is no different - all filesystems currently use unwritten > > extents, and so this test should be generic because all existing > > filesystems *should* behave the same. > >=20 > > When we get a filesystem that zeros rather uses unwritten extents, > > we can add a new *generic* test that tests for zeroed data extents > > rather than unwritten extents. All that we will need is a method of > > checking what behaviour the filesystem has and adding that to a > > _requires directive to ensure the correct generic fallocate tests > > are run... >=20 > Currently xfs/242 fails on xfs for me Really? Where's the bug report? I haven't seen a failure on xfs/242 on any of my test machines for at least a year, even on 1k block size filesystems... $ sudo ./check xfs/242 =46STYP -- xfs (debug) PLATFORM -- Linux/x86_64 test2 3.14.0-rc3-dgc+ MKFS_OPTIONS -- -f -bsize=3D4096 /dev/vdb MOUNT_OPTIONS -- /dev/vdb /mnt/scratch xfs/242 1s ... 0s Ran: xfs/242 Passed all 1 tests $ > and it does behave differently than ext4. In what way? Does FALLOC_FL_ZERO_RANGE on XFS behave identically to XFS_IOC_ZERO_RANGE, or is that different too? Or you haven't tested it because you wrote this test as an ext4 specific test and so haven't run this specific test exercising the FALLOC_FL_ZERO_RANGE path in XFS? IOWs, how do you know that what you are seeing is not a bug in the ext4 (or XFS for that matter) implementation? > Also I had to change to 242.out a bit because ext4 was > a little different. It seems to me that it was expected that when > the extent is small enough it would be overwritten by zeroes rather > than converted to unwritten, but I have not looked into > implementation. The test assumes that sub-block head and tail ranges will be zeroed, and everything else will be converted to unwritten extents. i.e. a single block aligned range will get converted to unwritten, but a single unaligned block range will result in the two overlapping blocks being zeroed (because they still contain valid data). This is the same sub-block zeroing behaviour as is done for hole punching - the only difference between a hole punch and a zero range on filesystems that use unwritten extents should be that the range being operated on has unwritten extents rather a hole..... > Btw this kind of optimization is actually something I've been > thinking of as well for ext4. Rather than going though the hassle of > changing extents around it might be worth in some situation to zero > out. But that's an optimization I have not implemented yet. Exactly my point - until such optimisations are implemented, all the filesystems should be behaving the same way using unwritten extents, just like for hole punching. Hence the tests should be checking that the behaviour is the same across filesystems, just like we do for hole punching. Cheers, Dave. --=20 Dave Chinner david@fromorbit.com -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay2.corp.sgi.com [137.38.102.29]) by oss.sgi.com (Postfix) with ESMTP id 6B1347F50 for ; Tue, 25 Feb 2014 15:50:21 -0600 (CST) Received: from cuda.sgi.com (cuda2.sgi.com [192.48.176.25]) by relay2.corp.sgi.com (Postfix) with ESMTP id 4F56E304066 for ; Tue, 25 Feb 2014 13:50:18 -0800 (PST) Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by cuda.sgi.com with ESMTP id wGCrmKzz3HNtDC63 for ; Tue, 25 Feb 2014 13:50:16 -0800 (PST) Date: Wed, 26 Feb 2014 08:50:11 +1100 From: Dave Chinner Subject: Re: [PATCH 6/6] ext4/242: Add ext4 specific test for fallocate zero range Message-ID: <20140225215011.GF13647@dastard> References: <1393355728-12056-1-git-send-email-lczerner@redhat.com> <1393355728-12056-6-git-send-email-lczerner@redhat.com> <20140225205349.GD13647@dastard> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: =?utf-8?B?THVrw6HFoQ==?= Czerner Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, xfs@oss.sgi.com T24gVHVlLCBGZWIgMjUsIDIwMTQgYXQgMTA6MDE6MDZQTSArMDEwMCwgTHVrw6HFoSBDemVybmVy IHdyb3RlOgo+IE9uIFdlZCwgMjYgRmViIDIwMTQsIERhdmUgQ2hpbm5lciB3cm90ZToKPiAKPiA+ IERhdGU6IFdlZCwgMjYgRmViIDIwMTQgMDc6NTM6NDkgKzExMDAKPiA+IEZyb206IERhdmUgQ2hp bm5lciA8ZGF2aWRAZnJvbW9yYml0LmNvbT4KPiA+IFRvOiBMdWthcyBDemVybmVyIDxsY3plcm5l ckByZWRoYXQuY29tPgo+ID4gQ2M6IGxpbnV4LWV4dDRAdmdlci5rZXJuZWwub3JnLCBsaW51eC1m c2RldmVsQHZnZXIua2VybmVsLm9yZywgeGZzQG9zcy5zZ2kuY29tCj4gPiBTdWJqZWN0OiBSZTog W1BBVENIIDYvNl0gZXh0NC8yNDI6IEFkZCBleHQ0IHNwZWNpZmljIHRlc3QgZm9yIGZhbGxvY2F0 ZSB6ZXJvCj4gPiAgICAgcmFuZ2UKPiA+IAo+ID4gT24gVHVlLCBGZWIgMjUsIDIwMTQgYXQgMDg6 MTU6MjhQTSArMDEwMCwgTHVrYXMgQ3plcm5lciB3cm90ZToKPiA+ID4gVGhpcyBpcyBjb3B5IG9m IHhmcy8yNDIuIEhvd2V2ZXIgaXQncyBiZXR0ZXIgdG8gbWFrZSBpdCBmaWxlIHN5c3RlbQo+ID4g PiBzcGVjaWZpYyBiZWNhdXNlIHRoZSByYW5nZSBjYW4gYmUgemVyb2VzIGVpdGhlciBkaXJlY3Rs eSBieSB3cml0aW5nCj4gPiA+IHplcm9lcywgb3IgY29udmVydGluZyB0byB1bndyaXR0ZW4gZXh0 ZW50LCBzbyB0aGUgYWN0dWFsIHJlc3VsdCBtaWdodAo+ID4gPiBkaWZmZXIgZnJvbSBmaWxlIHN5 c3RlbSB0byBmaWxlIHN5c3RlbS4KPiA+IAo+ID4gWW91IGNvdWxkIHNheSB0aGUgc2FtZSB0aGlu ZyBhYm91dCBwcmVhbGxvY2F0aW9uIHVzaW5nIHVud3JpdHRlbgo+ID4gZXh0ZW50cy4gWWV0LCBm dW5uaWx5IGVub3VnaCwgd2UgaGF2ZSBnZW5lcmljIHRlc3RzIGZvciB0aGVtIGJlY2F1c2UKPiA+ IGFsbCBmaWxlc3lzdGVtcyBjdXJyZW50bHkgdXNlIHVud3JpdHRlbiBleHRlbnRzIGZvciBwcmVh bGxvY2F0aW9uCj4gPiBhbmQgYmVoYXZlIGlkZW50aWNhbGx5Li4uLgo+ID4gCj4gPiBUaGlzIHRl c3QgaXMgbm8gZGlmZmVyZW50IC0gYWxsIGZpbGVzeXN0ZW1zIGN1cnJlbnRseSB1c2UgdW53cml0 dGVuCj4gPiBleHRlbnRzLCBhbmQgc28gdGhpcyB0ZXN0IHNob3VsZCBiZSBnZW5lcmljIGJlY2F1 c2UgYWxsIGV4aXN0aW5nCj4gPiBmaWxlc3lzdGVtcyAqc2hvdWxkKiBiZWhhdmUgdGhlIHNhbWUu Cj4gPiAKPiA+IFdoZW4gd2UgZ2V0IGEgZmlsZXN5c3RlbSB0aGF0IHplcm9zIHJhdGhlciB1c2Vz IHVud3JpdHRlbiBleHRlbnRzLAo+ID4gd2UgY2FuIGFkZCBhIG5ldyAqZ2VuZXJpYyogdGVzdCB0 aGF0IHRlc3RzIGZvciB6ZXJvZWQgZGF0YSBleHRlbnRzCj4gPiByYXRoZXIgdGhhbiB1bndyaXR0 ZW4gZXh0ZW50cy4gQWxsIHRoYXQgd2Ugd2lsbCBuZWVkIGlzIGEgbWV0aG9kIG9mCj4gPiBjaGVj a2luZyB3aGF0IGJlaGF2aW91ciB0aGUgZmlsZXN5c3RlbSBoYXMgYW5kIGFkZGluZyB0aGF0IHRv IGEKPiA+IF9yZXF1aXJlcyBkaXJlY3RpdmUgdG8gZW5zdXJlIHRoZSBjb3JyZWN0IGdlbmVyaWMg ZmFsbG9jYXRlIHRlc3RzCj4gPiBhcmUgcnVuLi4uCj4gCj4gQ3VycmVudGx5IHhmcy8yNDIgZmFp bHMgb24geGZzIGZvciBtZQoKUmVhbGx5PyBXaGVyZSdzIHRoZSBidWcgcmVwb3J0PyBJIGhhdmVu J3Qgc2VlbiBhIGZhaWx1cmUgb24geGZzLzI0MgpvbiBhbnkgb2YgbXkgdGVzdCBtYWNoaW5lcyBm b3IgYXQgbGVhc3QgYSB5ZWFyLCBldmVuIG9uIDFrIGJsb2NrCnNpemUgZmlsZXN5c3RlbXMuLi4K CiQgc3VkbyAuL2NoZWNrIHhmcy8yNDIKRlNUWVAgICAgICAgICAtLSB4ZnMgKGRlYnVnKQpQTEFU Rk9STSAgICAgIC0tIExpbnV4L3g4Nl82NCB0ZXN0MiAzLjE0LjAtcmMzLWRnYysKTUtGU19PUFRJ T05TICAtLSAtZiAtYnNpemU9NDA5NiAvZGV2L3ZkYgpNT1VOVF9PUFRJT05TIC0tIC9kZXYvdmRi IC9tbnQvc2NyYXRjaAoKeGZzLzI0MiAxcyAuLi4gMHMKUmFuOiB4ZnMvMjQyClBhc3NlZCBhbGwg MSB0ZXN0cwokCgoKPiBhbmQgaXQgZG9lcyBiZWhhdmUgZGlmZmVyZW50bHkgdGhhbiBleHQ0LgoK SW4gd2hhdCB3YXk/IERvZXMgRkFMTE9DX0ZMX1pFUk9fUkFOR0Ugb24gWEZTIGJlaGF2ZSBpZGVu dGljYWxseSB0bwpYRlNfSU9DX1pFUk9fUkFOR0UsIG9yIGlzIHRoYXQgZGlmZmVyZW50IHRvbz8g T3IgeW91IGhhdmVuJ3QgdGVzdGVkCml0IGJlY2F1c2UgeW91IHdyb3RlIHRoaXMgdGVzdCBhcyBh biBleHQ0IHNwZWNpZmljIHRlc3QgYW5kIHNvCmhhdmVuJ3QgcnVuIHRoaXMgc3BlY2lmaWMgdGVz dCBleGVyY2lzaW5nIHRoZSBGQUxMT0NfRkxfWkVST19SQU5HRQpwYXRoIGluIFhGUz8KCklPV3Ms IGhvdyBkbyB5b3Uga25vdyB0aGF0IHdoYXQgeW91IGFyZSBzZWVpbmcgaXMgbm90IGEgYnVnIGlu IHRoZQpleHQ0IChvciBYRlMgZm9yIHRoYXQgbWF0dGVyKSBpbXBsZW1lbnRhdGlvbj8KCj4gQWxz byBJIGhhZCB0byBjaGFuZ2UgdG8gMjQyLm91dCBhIGJpdCBiZWNhdXNlIGV4dDQgd2FzCj4gYSBs aXR0bGUgZGlmZmVyZW50LiBJdCBzZWVtcyB0byBtZSB0aGF0IGl0IHdhcyBleHBlY3RlZCB0aGF0 IHdoZW4KPiB0aGUgZXh0ZW50IGlzIHNtYWxsIGVub3VnaCBpdCB3b3VsZCBiZSBvdmVyd3JpdHRl biBieSB6ZXJvZXMgcmF0aGVyCj4gdGhhbiBjb252ZXJ0ZWQgdG8gdW53cml0dGVuLCBidXQgSSBo YXZlIG5vdCBsb29rZWQgaW50bwo+IGltcGxlbWVudGF0aW9uLgoKVGhlIHRlc3QgYXNzdW1lcyB0 aGF0IHN1Yi1ibG9jayBoZWFkIGFuZCB0YWlsIHJhbmdlcyB3aWxsIGJlIHplcm9lZCwKYW5kIGV2 ZXJ5dGhpbmcgZWxzZSB3aWxsIGJlIGNvbnZlcnRlZCB0byB1bndyaXR0ZW4gZXh0ZW50cy4gaS5l LiBhCnNpbmdsZSBibG9jayBhbGlnbmVkIHJhbmdlIHdpbGwgZ2V0IGNvbnZlcnRlZCB0byB1bndy aXR0ZW4sIGJ1dCBhCnNpbmdsZSB1bmFsaWduZWQgYmxvY2sgcmFuZ2Ugd2lsbCByZXN1bHQgaW4g dGhlIHR3byBvdmVybGFwcGluZwpibG9ja3MgYmVpbmcgemVyb2VkIChiZWNhdXNlIHRoZXkgc3Rp bGwgY29udGFpbiB2YWxpZCBkYXRhKS4KClRoaXMgaXMgdGhlIHNhbWUgc3ViLWJsb2NrIHplcm9p bmcgYmVoYXZpb3VyIGFzIGlzIGRvbmUgZm9yCmhvbGUgcHVuY2hpbmcgLSB0aGUgb25seSBkaWZm ZXJlbmNlIGJldHdlZW4gYSBob2xlIHB1bmNoIGFuZCBhIHplcm8KcmFuZ2Ugb24gZmlsZXN5c3Rl bXMgdGhhdCB1c2UgdW53cml0dGVuIGV4dGVudHMgc2hvdWxkIGJlIHRoYXQgdGhlCnJhbmdlIGJl aW5nIG9wZXJhdGVkIG9uIGhhcyB1bndyaXR0ZW4gZXh0ZW50cyByYXRoZXIgYSBob2xlLi4uLi4K Cj4gQnR3IHRoaXMga2luZCBvZiBvcHRpbWl6YXRpb24gaXMgYWN0dWFsbHkgc29tZXRoaW5nIEkn dmUgYmVlbgo+IHRoaW5raW5nIG9mIGFzIHdlbGwgZm9yIGV4dDQuIFJhdGhlciB0aGFuIGdvaW5n IHRob3VnaCB0aGUgaGFzc2xlIG9mCj4gY2hhbmdpbmcgZXh0ZW50cyBhcm91bmQgaXQgbWlnaHQg YmUgd29ydGggaW4gc29tZSBzaXR1YXRpb24gdG8gemVybwo+IG91dC4gQnV0IHRoYXQncyBhbiBv cHRpbWl6YXRpb24gSSBoYXZlIG5vdCBpbXBsZW1lbnRlZCB5ZXQuCgpFeGFjdGx5IG15IHBvaW50 IC0gdW50aWwgc3VjaCBvcHRpbWlzYXRpb25zIGFyZSBpbXBsZW1lbnRlZCwgYWxsIHRoZQpmaWxl c3lzdGVtcyBzaG91bGQgYmUgYmVoYXZpbmcgdGhlIHNhbWUgd2F5IHVzaW5nIHVud3JpdHRlbiBl eHRlbnRzLApqdXN0IGxpa2UgZm9yIGhvbGUgcHVuY2hpbmcuIEhlbmNlIHRoZSB0ZXN0cyBzaG91 bGQgYmUgY2hlY2tpbmcgdGhhdAp0aGUgYmVoYXZpb3VyIGlzIHRoZSBzYW1lIGFjcm9zcyBmaWxl c3lzdGVtcywganVzdCBsaWtlIHdlIGRvIGZvcgpob2xlIHB1bmNoaW5nLgoKQ2hlZXJzLAoKRGF2 ZS4KLS0gCkRhdmUgQ2hpbm5lcgpkYXZpZEBmcm9tb3JiaXQuY29tCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp4ZnMgbWFpbGluZyBsaXN0Cnhmc0Bvc3Mu c2dpLmNvbQpodHRwOi8vb3NzLnNnaS5jb20vbWFpbG1hbi9saXN0aW5mby94ZnMK