[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1403131113090.2114@localhost.localdomain>
Date: Thu, 13 Mar 2014 11:14:59 +0100 (CET)
From: Lukáš Czerner <lczerner@...hat.com>
To: Dave Chinner <david@...morbit.com>
cc: linux-ext4@...r.kernel.org, tytso@....edu,
linux-fsdevel@...r.kernel.org, xfs@....sgi.com
Subject: Re: [PATCH 0/6 v2] Introduce FALLOC_FL_ZERO_RANGE flag for
fallocate
On Thu, 13 Mar 2014, Dave Chinner wrote:
> Date: Thu, 13 Mar 2014 19:49:36 +1100
> From: Dave Chinner <david@...morbit.com>
> To: Lukas Czerner <lczerner@...hat.com>
> Cc: linux-ext4@...r.kernel.org, tytso@....edu, linux-fsdevel@...r.kernel.org,
> xfs@....sgi.com
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists