[Bug 518582] Re: mount ext fileystem fails, booting fails, blkid produces no output

Kees Cook kees at ubuntu.com
Sun Mar 21 19:10:57 UTC 2010


For a filesystem that fails, can you attach the first 10K of the
partition?

sudo dd if=/dev/sda1 of=/tmp/10k.data bs=10k count=1

The minix sanity checks are failing:

                sb = blkid_probe_get_sb(pr, mag, struct minix_super_block);
                if (!sb || sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0)
                        return -1;

                zones = version == 2 ? sb->s_zones : sb->s_nzones;

                /* sanity checks to be sure that the FS is really minix */
                if (sb->s_imap_blocks * MINIX_BLOCK_SIZE * 8 < sb->s_ninodes + 1)
                        return -1;
                if (sb->s_zmap_blocks * MINIX_BLOCK_SIZE * 8 < zones - sb->s_firstdatazone + 1)
                        return -1;

The data overlaps beyond the start of the ext4 blocks group descriptor,
so the value of s_ninodes is not obvious to me.

struct minix_super_block                   struct ext4_group_desc
        uint16_t s_ninodes;                   /* before the ext4_group_desc */

        uint16_t s_nzones;                   __le32  bg_block_bitmap_lo;     /* Blocks bitmap block */
        uint16_t s_imap_blocks;

        uint16_t s_zmap_blocks;          __le32  bg_inode_bitmap_lo;     /* Inodes bitmap block */
        uint16_t s_firstdatazone;

        uint16_t s_log_zone_size;        __le32  bg_inode_table_lo;      /* Inodes table block */
        uint32_t s_max_size;                __le16  bg_free_blocks_count_lo;/* Free blocks count */

        uint16_t s_magic;                     __le16
bg_free_inodes_count_lo;/* Free inodes count */

...

-- 
mount ext fileystem fails, booting fails, blkid produces no output
https://bugs.launchpad.net/bugs/518582
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to util-linux in ubuntu.




More information about the kernel-bugs mailing list