From 213fe9288bbebe6566f554996660a7c242a910dd Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Fri, 22 Aug 2008 02:50:02 -0400 Subject: [PATCH] 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" --- lib/ext2fs/block.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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; -- 1.8.3.1