From: Dave Chinner <david@fromorbit.com>
To: Lukas Czerner <lczerner@redhat.com>
Cc: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
tytso@mit.edu, xfs@oss.sgi.com
Subject: Re: [PATCH 6/6] xfs: Add support for FALLOC_FL_ZERO_RANGE
Date: Tue, 18 Feb 2014 15:51:38 +1100 [thread overview]
Message-ID: <20140218045138.GI13997@dastard> (raw)
In-Reply-To: <1392649703-10772-7-git-send-email-lczerner@redhat.com>
On Mon, Feb 17, 2014 at 04:08:23PM +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.
>
> We can also preallocate blocks past EOF in the same was as with
> fallocate. Flag FALLOC_FL_KEEP_SIZE will cause the inode size to remain
> the same even if we preallocate blocks past EOF.
>
> It uses the same code to zero range as it is used by the
> XFS_IOC_ZERO_RANGE ioctl.
>
> Signed-off-by: Lukas Czerner <lczerner@redhat.com>
> ---
> fs/xfs/xfs_file.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
> index 64b48ea..aec5f64 100644
> --- a/fs/xfs/xfs_file.c
> +++ b/fs/xfs/xfs_file.c
> @@ -823,7 +823,8 @@ xfs_file_fallocate(
>
> if (!S_ISREG(inode->i_mode))
> return -EINVAL;
> - if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE))
> + if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE |
> + FALLOC_FL_ZERO_RANGE))
> return -EOPNOTSUPP;
>
> xfs_ilock(ip, XFS_IOLOCK_EXCL);
> @@ -840,8 +841,11 @@ xfs_file_fallocate(
> goto out_unlock;
> }
>
> - error = xfs_alloc_file_space(ip, offset, len,
> - XFS_BMAPI_PREALLOC);
> + if (mode & FALLOC_FL_ZERO_RANGE)
> + error = xfs_zero_file_space(ip, offset, len);
> + else
> + error = xfs_alloc_file_space(ip, offset, len,
> + XFS_BMAPI_PREALLOC);
> if (error)
> goto out_unlock;
> }
Looks OK.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2014-02-18 4:51 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-17 15:08 [PATCH 0/6][RFC] Introduce FALLOC_FL_ZERO_RANGE flag for fallocate Lukas Czerner
2014-02-17 15:08 ` Lukas Czerner
2014-02-17 15:08 ` [PATCH 1/6] ext4: Update inode i_size after the preallocation Lukas Czerner
2014-02-17 15:08 ` Lukas Czerner
2014-02-17 23:12 ` Andreas Dilger
2014-02-17 23:12 ` Andreas Dilger
2014-02-17 23:21 ` Theodore Ts'o
2014-02-18 8:13 ` Lukáš Czerner
2014-02-18 8:13 ` Lukáš Czerner
2014-02-17 15:08 ` [PATCH 2/6] ext4: refactor ext4_fallocate code Lukas Czerner
2014-02-17 15:08 ` Lukas Czerner
2014-02-18 8:25 ` jon ernst
2014-02-17 15:08 ` [PATCH 3/6] ext4: translate fallocate mode bits to strings Lukas Czerner
2014-02-17 15:08 ` Lukas Czerner
2014-02-17 15:08 ` [PATCH 4/6] fs: Introduce FALLOC_FL_ZERO_RANGE flag for fallocate Lukas Czerner
2014-02-17 15:08 ` Lukas Czerner
2014-02-18 2:51 ` Dave Chinner
2014-02-18 8:10 ` Lukáš Czerner
2014-02-18 8:10 ` Lukáš Czerner
2014-02-17 15:08 ` [PATCH 5/6] ext4: " Lukas Czerner
2014-02-17 15:08 ` Lukas Czerner
2014-02-18 8:27 ` jon ernst
2014-02-17 15:08 ` [PATCH 6/6] xfs: Add support for FALLOC_FL_ZERO_RANGE Lukas Czerner
2014-02-17 15:08 ` Lukas Czerner
2014-02-18 4:51 ` Dave Chinner [this message]
2014-02-18 1:01 ` [PATCH 0/6][RFC] Introduce FALLOC_FL_ZERO_RANGE flag for fallocate Dave Chinner
2014-02-18 1:01 ` Dave Chinner
2014-02-18 8:33 ` Dave Chinner
2014-02-18 8:33 ` Dave Chinner
2014-02-18 9:09 ` Lukáš Czerner
2014-02-18 9:41 ` Dave Chinner
2014-02-18 12:04 ` Lukáš Czerner
2014-02-18 12:04 ` Lukáš Czerner
2014-02-18 14:23 ` Theodore Ts'o
2014-02-18 14:23 ` Theodore Ts'o
2014-02-18 14:42 ` Lukáš Czerner
2014-02-18 14:42 ` Lukáš Czerner
2014-02-19 0:33 ` Theodore Ts'o
2014-02-19 14:52 ` Dongsu Park
2014-02-19 14:52 ` Dongsu Park
2014-02-19 15:18 ` Lukáš Czerner
2014-02-19 15:18 ` Lukáš Czerner
2014-02-19 15:51 ` Dongsu Park
2014-02-20 11:16 ` Lukáš Czerner
2014-02-20 11:16 ` Lukáš Czerner
2014-02-24 1:07 ` Dave Chinner
2014-02-24 13:47 ` Lukáš Czerner
2014-02-24 13:47 ` Lukáš Czerner
2014-04-16 6:36 ` Christoph Hellwig
[not found] ` <20140416063618.GA12498-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2014-04-16 10:43 ` Lukáš Czerner
2014-04-16 10:43 ` Lukáš Czerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140218045138.GI13997@dastard \
--to=david@fromorbit.com \
--cc=lczerner@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=tytso@mit.edu \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.