priority 498942 important
thanks

Justification for lowering the priority: e2fsck works for most people;
this failure only happens for badly corrupted filesystems --- and
there is a workaround.  You need to specfy the blocksize.  i.e., 

        e2fsck -b 8193 -B 1024 /dev/XXXX

or

        e2fsck -b 32768 -B 4096 /dev/XXXX

A fix for this problem was checked into the e2fsprogs git repository
last week.  The problem was found by some Ubuntu users a few months
ago, but unfortunately no one saw fit to either (a) report it to via
Ubuntu's Launchpad, (b) report it to me via any of the other bug
trackers (Source Forge, Debian BTS, etc.), or (c) e-mail me about it
and ask me, until last week.

This will be in the next version of the e2fsprogs maint branch.  It
would be nice to get this fix into Lenny, but I'm hesitant to suggest
anything that might further delay Lenny.  

                                                - Ted

commit 52771ab59145d66b50399a8b953b8181cb2d5b04
Author: Theodore Ts'o <[EMAIL PROTECTED]>
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" <[EMAIL PROTECTED]>

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,



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to