]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
libext2fs: quiet spurious group checksum errors
authorAndreas Dilger <adilger@whamcloud.com>
Wed, 8 Feb 2012 02:11:21 +0000 (21:11 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 8 Feb 2012 02:11:21 +0000 (21:11 -0500)
If we have to read the backup group descriptor checksums, the UNINIT
flags are cleared to ensure that all of the inodes in the filesystem
are scanned.  However, the code that reset the UNINIT flags did not
reset the group checksum, and this produced many spurious error
messages in e2fsck.

Group descriptor 0 checksum is invalid.  FIXED.
Group descriptor 1 checksum is invalid.  FIXED.
:
:

Recompute checksums after modifying group descriptors to avoid these
error messages.  Remove expected error messages in f_illitable_flexbg.

Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
lib/ext2fs/openfs.c
tests/f_illitable_flexbg/expect.1

index 40a52c543eb2b9b92ae3b912c763f2d476ab691f..b1b68adb6463f37c42fe7f348e8daf4e7675e881 100644 (file)
@@ -378,6 +378,9 @@ errcode_t ext2fs_open2(const char *name, const char *io_options,
                        ext2fs_bg_flags_clear(fs, group, EXT2_BG_BLOCK_UNINIT);
                        ext2fs_bg_flags_clear(fs, group, EXT2_BG_INODE_UNINIT);
                        ext2fs_bg_itable_unused_set(fs, group, 0);
+                       /* The checksum will be reset later, but fix it here
+                        * anyway to avoid printing a lot of spurious errors. */
+                       ext2fs_group_desc_csum_set(fs, group);
                }
                ext2fs_mark_super_dirty(fs);
        }
index 2d8bd0ce98c5945c82d8e39ab84fef810d8cf95b..af30bd4efa41b69c06b3465b0bbf33fe17124271 100644 (file)
@@ -1,17 +1,13 @@
 ../e2fsck/e2fsck: Group descriptors look bad... trying backup blocks...
-One or more block group descriptor checksums are invalid.  Fix? yes
-
-Group descriptor 0 checksum is invalid.  FIXED.
 Inode table for group 1 is not in group.  (block 0)
 WARNING: SEVERE DATA LOSS POSSIBLE.
 Relocate? yes
 
-Group descriptor 1 checksum is invalid.  FIXED.
-Group descriptor 2 checksum is invalid.  FIXED.
-Group descriptor 3 checksum is invalid.  FIXED.
 Pass 1: Checking inodes, blocks, and sizes
 Relocating group 1's inode table to 142...
 Restarting e2fsck from the beginning...
+One or more block group descriptor checksums are invalid.  Fix? yes
+
 Group descriptor 1 checksum is invalid.  FIXED.
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure