Whamcloud - gitweb
e2fsck: verify s_desc_size is power-of-two value
authorAndreas Dilger <adilger@dilger.ca>
Mon, 23 Dec 2013 21:03:41 +0000 (16:03 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 23 Dec 2013 21:03:46 +0000 (16:03 -0500)
commit11d1116a7c0b833af317249d12025413fecbcd70
treeda6ee0c548cce0a1fc07f8ff1f49f98b40d953d0
parentfd5e00e1d0113fdbf28a546d8dff0366fb3c9a4f
e2fsck: verify s_desc_size is power-of-two value

Add a LOG2_CHECK mode for check_super_value() so that it is easy
to verify values that are supposed to be power-of-two values
(s_desc_size and s_inode_size so far).  In ext2fs_check_desc()
also check for a power-of-two s_desc_size.

Print out s_desc_size in debugfs "stats" and dumpe2fs output, if
it is non-zero.

It turns out that the s_desc_size validation in check_super_block()
is not currently used by e2fsck, because the group descriptors are
verified earlier by ext2fs_check_desc(), and even without an
explicit check of s_desc_size the group descriptors fail to align
correctly on disk.  It makes sense to keep the check_super_block()
regardless, in case the code changes at some point in the future.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
e2fsck/super.c
lib/e2p/ls.c
lib/ext2fs/check_desc.c
lib/ext2fs/closefs.c
lib/ext2fs/ext2_fs.h