xfs
[Top] [All Lists]

Re: [PATCH v5 3/10] ext4: Add support FALLOC_FL_COLLAPSE_RANGE for fallo

To: Namjae Jeon <linkinjeon@xxxxxxxxx>
Subject: Re: [PATCH v5 3/10] ext4: Add support FALLOC_FL_COLLAPSE_RANGE for fallocate
From: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx>
Date: Wed, 19 Feb 2014 22:58:05 +0100
Cc: viro@xxxxxxxxxxxxxxxxxx, david@xxxxxxxxxxxxx, bpm@xxxxxxx, tytso@xxxxxxx, adilger.kernel@xxxxxxxxx, jack@xxxxxxx, mtk.manpages@xxxxxxxxx, lczerner@xxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx, linux-ext4@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Namjae Jeon <namjae.jeon@xxxxxxxxxxx>, Ashish Sangwan <a.sangwan@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1392741489-20097-1-git-send-email-linkinjeon@xxxxxxxxx>
References: <1392741489-20097-1-git-send-email-linkinjeon@xxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
Hi Namjae,
see below:

On 19.02.2014 01:38, Namjae Jeon wrote:
> This patch implements fallocate's FALLOC_FL_COLLAPSE_RANGE for Ext4.
...<snip>...
> +     /*
> +      * Don't start shifting extents until we make sure the hole is big
> +      * enough to accomodate the shift.
> +      */
> +     path = ext4_ext_find_extent(inode, start - 1, NULL, 0);
> +     depth = path->p_depth;
> +     extent =  path[depth].p_ext;
> +     ex_start = extent->ee_block;
> +     ex_end = extent->ee_block + ext4_ext_get_actual_len(extent);
> +     ext4_ext_drop_refs(path);
> +     kfree(path);
> +
> +     if ((start == ex_start && shift > ex_start) ||
> +         (shift > start - ex_end)) {

This line causes a compile error. So the fix would be like that:

-           (shift > start - ex_end)) {
+           (shift > start - ex_end))

> +             return -EINVAL;
> +
> +     /* Its safe to start updating extents */
...<snip>...

Apart from that, the whole patchset seems to work without error,
both on xfs and on ext4.
Of course I had to remove Lukas' patches before testing collapse-range.
So it would be excellent if two patch series could get somehow merged.

Tested-by: Dongsu Park <dongsu.park@xxxxxxxxxxxxxxxx>

Regards,
Dongsu

<Prev in Thread] Current Thread [Next in Thread>