lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-id: <E4529F89-AACD-42EA-BC77-BB1DC0BAC01D@sun.com>
Date:	Mon, 16 Nov 2009 08:36:12 -0800
From:	Andreas Dilger <adilger@....com>
To:	Christian Kujau <lists@...dbynature.de>
Cc:	linux-ext4@...r.kernel.org
Subject: Re: Group descriptor 0 checksum is invalid

On 2009-11-14, at 14:00, Christian Kujau wrote:
> when trying to convert an ext3 filesystem to ext4, I'm getting these
> "Group descriptor 0 checksum is invalid" messages. I've seen them  
> before
> and the net is full of them, but I still wonder if they're expected to
> show up at all during the filesystem's first fsck. See below for the
> script log.

Yes, this is because enabling the uninit_bg feature on the filesystem  
also
requires that the group descriptor checksums are used.  This is the  
reason
why it asks you to run e2fsck on the filesystem.

It isn't safe to just have tune2fs initialize the unused inode count  
based
on the inode bitmap and then compute the checksums when the uninit_bg
feature, since tune2fs can't know for sure know which inodes are in use
without a full e2fsck run.

I suppose it would be possible to just set the bg_itable_unused = 0 and
then compute the checksum at tune2fs, and the next time the e2fsck is
run it will initialize bg_itable_unused to the right value.  It is a bit
sub-optimal, but not harmful and it avoids the need to run a full  
e2fsck.

> sid:~# cat /proc/version
> Linux version 2.6.32-rc7 (dummy@sid) (gcc version 4.4.2 (Debian  
> 4.4.2-2) ) #1 SMP Sat Nov 14 22:00:51 CET 2009
> sid:~# mkfs.ext3 -q /dev/xvdc
> sid:~# mount -t ext3 /dev/xvdc /mnt/d2
> sid:~# grep /dev/xvdc /proc/mounts
> /dev/xvdc /mnt/d2 ext3 rw,relatime,errors=continue,data=writeback 0 0
> sid:~# df -h /dev/xvdc
> Filesystem            Size  Used Avail Use% Mounted on
> /dev/xvdc              16G  173M   15G   2% /mnt/d2
> sid:~# umount /dev/xvdc
> sid:~# tune2fs -O extents,uninit_bg /dev/xvdc
> tune2fs 1.41.9 (22-Aug-2009)
>
> Please run e2fsck on the filesystem.
>
> sid:~# tune2fs -l /dev/xvdc | grep -i feat
> Filesystem features:      has_journal ext_attr resize_inode  
> dir_index filetype extent sparse_super large_file uninit_bg
>
> sid:~# e2fsck -fpDC0 /dev/xvdc
> /dev/xvdc: One or more block group descriptor checksums are  
> invalid.  FIXED.
> /dev/xvdc: Group descriptor 0 checksum is invalid.
>
> /dev/xvdc: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
> 	(i.e., without -a or -p options)
>
> sid:~# e2fsck -fDC0 /dev/xvdc
> e2fsck 1.41.9 (22-Aug-2009)
> One or more block group descriptor checksums are invalid.  Fix<y>? yes
>
> Group descriptor 0 checksum is invalid.  FIXED.
> Group descriptor 1 checksum is invalid.  FIXED.
> [...]
> Group descriptor 126 checksum is invalid.  FIXED.
> Group descriptor 127 checksum is invalid.  FIXED.
> Pass 1: Checking inodes, blocks, and sizes
> /dev/xvdc: |  [...]
> Pass 3: Checking directory connectivity
> Pass 3A: Optimizing directories
> Rebuilding directory: |================                / 50.0% [...]
> Pass 5: Checking group summary information
> /dev/xvdc: | 
> ========================================================| 100.0%
> /dev/xvdc: ***** FILE SYSTEM WAS MODIFIED *****
> /dev/xvdc: 11/1048576 files (0.0% non-contiguous), 109874/4194304  
> blocks
> sid:~#
> sid:~# e2fsck -fC0 /dev/xvdc
> /dev/xvdc: |                                            [...]
> /dev/xvdc: 11/1048576 files (0.0% non-contiguous), 109874/4194304  
> blocks
>
> -- 
> BOFH excuse #389:
>
> /dev/clue was linked to /dev/null
> --
> To unsubscribe from this list: send the line "unsubscribe linux- 
> ext4" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


Cheers, Andreas
--
Andreas Dilger
Sr. Staff Engineer, Lustre Group
Sun Microsystems of Canada, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ