[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140121074343.GE1819@gmail.com>
Date: Tue, 21 Jan 2014 15:43:43 +0800
From: Zheng Liu <gnehzuil.liu@...il.com>
To: "Darrick J. Wong" <darrick.wong@...cle.com>
Cc: tytso@....edu, linux-ext4@...r.kernel.org
Subject: Re: [PATCH 4/6] libext2fs: during punch, fix parent extents after
modifying extent
On Mon, Jan 20, 2014 at 10:22:04PM -0800, Darrick J. Wong wrote:
> When modifying/removing an extent during punch, don't forget to update
> the extent's parents.
>
> Signed-off-by: Darrick J. Wong <darrick.wong@...cle.com>
Reviewed-by: Zheng Liu <wenqing.lz@...bao.com>
- Zheng
> ---
> lib/ext2fs/punch.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
>
> diff --git a/lib/ext2fs/punch.c b/lib/ext2fs/punch.c
> index 657cb53..a3d020e 100644
> --- a/lib/ext2fs/punch.c
> +++ b/lib/ext2fs/punch.c
> @@ -353,6 +353,9 @@ static errcode_t ext2fs_punch_extent(ext2_filsys fs, ext2_ino_t ino,
> if (extent.e_len) {
> dbg_print_extent("replacing", &extent);
> retval = ext2fs_extent_replace(handle, 0, &extent);
> + if (retval)
> + goto errout;
> + retval = ext2fs_extent_fix_parents(handle);
> } else {
> struct ext2fs_extent newex;
> blk64_t old_lblk, next_lblk;
> @@ -387,6 +390,11 @@ static errcode_t ext2fs_punch_extent(ext2_filsys fs, ext2_ino_t ino,
> if (retval)
> goto errout;
>
> + retval = ext2fs_extent_fix_parents(handle);
> + if (retval && retval != EXT2_ET_NO_CURRENT_NODE)
> + goto errout;
> + retval = 0;
> +
> /* Jump forward to the next extent. */
> ext2fs_extent_goto(handle, next_lblk);
> op = EXT2_EXTENT_CURRENT;
>
> --
> 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
--
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