mirror of https://github.com/vitalif/e2fsprogs
beb388a473
When e2fsck uses the block iterator to release the blocks in an extent-mapped inode, when the last block in an extent is removed, the current extent has been removed and the extent cursor is now pointing at the next inode. But the block iterator code doesn't know that. So when it tries to go the next extent, it will end up skipping an extent, and so the inode will be incompletely truncated. The fix is to go to the next extent before calling the callback function for the current extent. This way, regardless of whether the current extent gets removed, the extent cursor is still pointing at the right place. Reported-by: Andreas Dilger <adilger@whamcloud.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> |
||
---|---|---|
.. | ||
blkid | ||
e2p | ||
et | ||
ext2fs | ||
quota | ||
ss | ||
uuid | ||
Makefile.bsd-lib | ||
Makefile.checker | ||
Makefile.darwin-lib | ||
Makefile.elf-lib | ||
Makefile.library | ||
Makefile.profile | ||
Makefile.solaris-lib | ||
config.h.in | ||
dirpaths.h.in | ||
fpopen.c |