Re: [PATCH v3] fallocate.2: Document FALLOC_FL_ZERO_RANGE

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

 



On Mon, 5 May 2014, Michael Kerrisk (man-pages) wrote:

> Date: Mon, 5 May 2014 21:46:22 +0200
> From: "Michael Kerrisk (man-pages)" <mtk.manpages@xxxxxxxxx>
> To: Lukáš Czerner <lczerner@xxxxxxxxxx>
> Cc: linux-man <linux-man@xxxxxxxxxxxxxxx>
> Subject: Re: [PATCH v3] fallocate.2: Document FALLOC_FL_ZERO_RANGE
> 
> Hi Lukáš,
> 
> On Mon, May 5, 2014 at 3:06 PM, Lukáš Czerner <lczerner@xxxxxxxxxx> wrote:
> > On Mon, 5 May 2014, Michael Kerrisk (man-pages) wrote:
> >
> >> Date: Mon, 05 May 2014 14:44:48 +0200
> >> From: "Michael Kerrisk (man-pages)" <mtk.manpages@xxxxxxxxx>
> >> To: Lukas Czerner <lczerner@xxxxxxxxxx>
> >> Cc: mtk.manpages@xxxxxxxxx, linux-man@xxxxxxxxxxxxxxx
> >> Subject: Re: [PATCH v3] fallocate.2: Document FALLOC_FL_ZERO_RANGE
> >>
> >>
> >> On 05/05/2014 02:04 PM, Lukas Czerner wrote:
> >> > FALLOC_FL_ZERO_RANGE was added in Linux 3.14,
> >> > for zeroing ranges in the allocated space in a file.
> >> >
> >> > Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx>
> >> > ---
> >> > v2: Rebase and update the description
> >> > v3: Ext4 zero range on extent based files
> >>
> >> Thank, Lukáš.
> >>
> >> In fact I'd already merged and tweaked your previous patch into
> >> a branch, and the only new piece from this patch that I needed
> >> was the piece about ext4 extent-based files.
> >>
> >> The text now reads:
> >>
> >>    Zeroing file space
> >>        Specifying the FALLOC_FL_ZERO_RANGE flag (available since Linux
> >>        3.14) in mode zeroes space in the byte range starting at offset
> >>        and  continuing  for  len  bytes.   Within the specified range,
> >>        blocks are preallocated for the regions that span the holes  in
> >>        the  file.  After a successful call, subsequent reads from this
> >>        range will return zeroes.
> >>
> >>        Zeroing is done within the filesystem preferably by  converting
> >>        the range into unwritten extents.  This approach means that the
> >>        specified range will  not  be  physically  zeroed  out  on  the
> >>        device, and I/O is required only to update file metadata.
> >
> > mostly for metadata as mentioned in my patch. Because we still need
> > to manually zero out partial blocks. But that's not really all that
> > important.
> 
> Thanks for checking. Now I understand the "mostly"! How about we make the text:
> 
> [[
> Zeroing is done within the filesystem preferably by converting the range into
> unwritten extents.
> This approach means that the specified range will not be physically zeroed
> out on the device (except for partial blocks at the either end of the range),
> and I/O is (otherwise) required only to update file metadata.
> ]]

Perfect. Just get rid of "file" in the "file metadata" and I think
it's ok. The reason is that those are also file system metadata in
the case you're actually allocating blocks.

Thanks!
-Lukas

> 
> ?
> 
> Cheers,
> 
> Michael
> 
> 
> >
> > Thanks!
> > -Lukas
> >
> >>
> >>        If  the  FALLOC_FL_KEEP_SIZE  flag is additionally specified in
> >>        mode, the behavior of the call is similar, but  the  file  size
> >>        will not be changed even if offset+len is greater than the file
> >>        size.  This behaviour is the same as when  preallocating  space
> >>        with FALLOC_FL_KEEP_SIZE specified.
> >>
> >>        Not all filesystems support FALLOC_FL_ZERO_RANGE; if a filesys‐
> >>        tem doesn't support the operation, an error is  returned.   The
> >>        operation is supported on at least the following filesystems:
> >>
> >>        *  XFS (since Linux 3.14)
> >>
> >>        *  ext4, for extent-based files (since Linux 3.14)
> >>    ...
> >>    ERRORS
> >>        EINVAL mode     is     FALLOC_FL_COLLAPSE_RANGE     or     FAL‐
> >>               LOC_FL_ZERO_RANGE, but the file referred to by fd is not
> >>               a regular file.
> >>
> >> Okay?
> >>
> >> Cheers,
> >>
> >> Michael
> >>
> 
> 
> 
> 

[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux