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" <tytso@mit.edu>
bitmap-optimize
Theodore Ts'o 2008-08-22 02:50:02 -04:00
parent da994e9c11
commit 213fe9288b
1 changed files with 5 additions and 2 deletions

View File

@ -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;