commit 52771ab59145d66b50399a8b953b8181cb2d5b04 Author: Theodore Ts'o Date: Tue Sep 9 15:02:24 2008 -0400 e2fsck: Fix e2fsck automatic blocksize detetion This fixes a regression that was introduced in commit dcc91e10 (it showed up first in e2fsprogs 1.40.7). Since we weren't freeing the filesystem handle, ext2fs_open2() was returning EBUSY, and so this caused a failure in the code that would automatically determine the filesystem block size when only the superblock number was specified by the user. This was discussed in http://ubuntuforums.org/showthread.php?t=789323, and Matthias Bannach pointed this out to me, for which I am very grateful. Signed-off-by: "Theodore Ts'o" diff --git a/e2fsck/unix.c b/e2fsck/unix.c index 94938a4..64faebe 100644 --- a/e2fsck/unix.c +++ b/e2fsck/unix.c @@ -971,6 +971,8 @@ restart: int blocksize; for (blocksize = EXT2_MIN_BLOCK_SIZE; blocksize <= EXT2_MAX_BLOCK_SIZE; blocksize *= 2) { + if (fs) + ext2fs_free(fs); retval = ext2fs_open2(ctx->filesystem_name, ctx->io_options, flags, ctx->superblock, blocksize,