From: Theodore Ts'o Date: Fri, 22 Aug 2008 06:50:02 +0000 (-0400) Subject: ext2fs_block_iterate2(): Support changing interior nodes of an extent tree X-Git-Tag: v1.41.1~73 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=213fe9288bbebe6566f554996660a7c242a910dd;p=tools%2Fe2fsprogs.git ext2fs_block_iterate2(): Support changing interior nodes of an extent tree Resize2fs needs to be able to relocate the interior nodes of an extent tree. Add support for this feature via ext2fs_extent_replace(). Signed-off-by: "Theodore Ts'o" --- diff --git a/lib/ext2fs/block.c b/lib/ext2fs/block.c index 4575cf3..14be1ba 100644 --- a/lib/ext2fs/block.c +++ b/lib/ext2fs/block.c @@ -392,8 +392,11 @@ errcode_t ext2fs_block_iterate2(ext2_filsys fs, ret |= (*ctx.func)(fs, &blk, -1, 0, 0, priv_data); if (ret & BLOCK_CHANGED) { - ctx.errcode = EXT2_ET_EXTENT_NOT_SUPPORTED; - goto errout; + extent.e_pblk = blk; + ctx.errcode = + ext2fs_extent_replace(handle, 0, &extent); + if (ctx.errcode) + goto errout; } } continue;