]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
e2fsck: Fix e2fsck automatic blocksize detetion
authorTheodore Ts'o <tytso@mit.edu>
Tue, 9 Sep 2008 19:02:24 +0000 (15:02 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 9 Sep 2008 19:02:24 +0000 (15:02 -0400)
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" <tytso@mit.edu>
e2fsck/unix.c

index 94938a4d9455ba706064fb067d4165d6ffb76d8f..64faebee491fe74b368a5db1bad8fd8ec62773b0 100644 (file)
@@ -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,