On Thu, 13 Mar 2014, Dave Chinner wrote: > Date: Thu, 13 Mar 2014 19:49:36 +1100 > From: Dave Chinner <david@xxxxxxxxxxxxx> > To: Lukas Czerner <lczerner@xxxxxxxxxx> > Cc: linux-ext4@xxxxxxxxxxxxxxx, tytso@xxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, > xfs@xxxxxxxxxxx > Subject: Re: [PATCH 0/6 v2] Introduce FALLOC_FL_ZERO_RANGE flag for fallocate > > On Tue, Feb 25, 2014 at 08:14:33PM +0100, Lukas Czerner wrote: > > Introduce new FALLOC_FL_ZERO_RANGE flag for fallocate. This has the same > > functionality as xfs ioctl XFS_IOC_ZERO_RANGE. > > > > It can be used to convert a range of file to zeros preferably without > > issuing data IO. Blocks should be preallocated for the regions that span > > holes in the file, and the entire range is preferable converted to > > unwritten extents - even though file system may choose to zero out the > > extent or do whatever which will result in reading zeros from the range > > while the range remains allocated for the file. > > > > This can be also used to preallocate blocks past EOF in the same way as > > with fallocate. Flag FALLOC_FL_KEEP_SIZE which should cause the inode > > size to remain the same. > > > > You can test this feature yourself using xfstests, of fallocate(1) however > > you'll need patches for util_linux, xfsprogs and xfstests which are going to > > follow soon. > > > > I tested this mostly with a subset of xfstests using fsx and fsstress and > > even with new generic/290 which is just a copy of xfs/290 using fzero > > command for xfs_io instead of zero (which uses ioctl). I was testing on > > x86_64 and ppc64 with block sizes of 1024, 2048 and 4096. > > > > ./check generic/076 generic/232 generic/013 generic/070 generic/269 generic/083 > > generic/117 generic/068 generic/231 generic/127 generic/091 generic/075 > > generic/112 generic/263 generic/091 generic/075 generic/256 generic/255 > > generic/316 generic/300 generic/290 ext4/242; > > > > Note that there is a work in progress on FALLOC_FL_COLLAPSE_RANGE which > > touches the same area as this pach set does, so we should figure out > > which one should go first and modify the other on top of it. > > > > This has been based on top of xfs-collapse-range so it does not contain ext4 > > collapse range changes. > > Lukas, I have merged patches 4 and 6 into the xfs-collapse-branch. > That branch should now remain stable, so you can rebase all the ext4 > collapse range and zero range bits on top of tha branch and Ted can > pull it into the ext4 tree if he wants to pull it in. > > Cheers, > > Dave. Hi Dave, that's great thanks! Btw you probably meant branch xfs-collapse-range and those patches are already based on that branch so it should apply cleanly. Now we have to figure out the order in which we're going to take zero-range and collapse-range into ext4. Thanks! -Lukas -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html