Strange Fedora Booting problem: can not mount "LABEL=*"partitions

Theodore Ts'o tytso at
Mon Apr 19 02:53:49 UTC 2004

On Thu, Apr 15, 2004 at 10:50:03AM -0700, Guolin Cheng wrote:
> Hi, Stephen and Jeff,
>  Thanks. But the problem got debugged&fixed, the answer was post on
> fedora-list about 2 weeks ago. 
> The problem is: the /etc/ file works as an old unappropriate
> disk partitions cache for fsck|blkid commands when stystem image is
> installed to a different arch (scsi->ide) machine, the old cache will
> mislead fsck|blkid at the first run and only the first run, since the
> first run will update /etc/ file. 

Huh?  It shouldn't do that.  The blkid library validates the
information before it returns it.  Let me check, just to make sure I'm
not going insane:

# grep usr /etc/
<device DEVNO="0x0303" TIME="1082342948" UUID="afc6b073-ad8b-4440-931d-5558e3618fa9" SEC_TYPE="ext3" TYPE="ext2" LABEL="usr">/dev/hda3</device>
# grep usr /tmp/
<device DEVNO="0x0305" TIME="1082342842" UUID="eaf43bde-8da2-4844-aed7-80729e93bd13" SEC_TYPE="ext3" TYPE="ext2" LABEL="usr">/dev/hda5</device>
# cp /tmp/ /etc/
# fsck -VN LABEL=usr
fsck 1.35 (28-Feb-2004)
[/sbin/fsck.ext3 (1) -- /usr] fsck.ext3 /dev/hda3
# e2label /dev/hda3

In the above example, you'll see that /etc/ shows that
/dev/hda3 has the label "usr".  In /tmp/, it thinks
that /dev/hda5 has the label "usr".  I then copy /tmp/
to /etc/, and then try to do an fsck test.  You'll see that
it uses /dev/hda3, not /dev/hda5.

This is because the blkid library always uses the information in
/etc/ as nothing but a hint --- which it verifies before it
returns the correct value.  Even if the /etc/ file is
completely bogus; that should be OK.  The blkid library should be able
to recover from this situation just fine.

Can you give me more information about why you think the blkid library
isn't working correctly?

						- Ted

More information about the Ext3-users mailing list