blkid library detects JFS partition as FAT32
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
e2fsprogs (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
blkid detects a JFS partition as FAT32. Thus fsck fails on this partition unless the file system is specified explicitly or by device name (rather than UUID) in fstab. This causes automatic fsck on startup failures resulting in boot failures.
E.g.:
xxx@yyy:~$ sudo blkid -c /dev/null
/dev/sda1: UUID="d7e37603-
/dev/sdb1: SEC_TYPE="msdos" LABEL="DOS" UUID="E7D3-A415" TYPE="vfat"
/dev/sdb3: UUID="42d7432e-
/dev/sdb5: SEC_TYPE="msdos" UUID="5593-65BD" TYPE="vfat"
/dev/sdb6: TYPE="swap" UUID="629513d4-
/dev/sdc1: SEC_TYPE="msdos" UUID="479E-4CF4" TYPE="vfat"
/dev/sdb5 is a JFS partition indeed. Strangely /dev/sda1 which is also a JFS partition is detected correctly. However the difference is that /dev/sda1 is formatted without -O option (case sensitive) whereas /dev/sda5 is formatted with -O option (case insensitive)
Studying lib/blkid/probe.c: the problem occurs because the JFS partition matches the type_array[] entry:
{ "vfat", 0, 0x1fe, 2, "\125\252", probe_fat_nomagic },
The problem can be fixed by moving JFS-related entry before this VFAT entry.