[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[linux-lvm] Upgrade from 2.6.10-ac8 to broke lvm rootfs

After upgrading the kernel from 2.6.10-ac8 to the initramfs was no
longer able to mount rootfs.

  mount: error 6 mounting ext3

All the configuration options are identical, and upgrading lvm2 package:
  lvm2-2.00.25-1.01       -> lvm2-2.01.14-1.0
  device-mapper-1.00.19-2 -> device-mapper-1.01.04-1.0

Did not change anything.

Dm, ext3 and the relevant block device drivers statically compiled in.

The vg has lvm1 format, fwiw.

I enabled all the debug options I could think of in the nash-based initramfs
init script. That did not appear to tell much: all I was able to tell was
that lvm was succesfully called by the init script:

mount -t proc /proc /proc
mount -t sysfs none /sys
insmod /lib/dm-snapshot.ko 
mkdevices /dev
lvm vgscan -v
# sleep 5
lvm vgchange -ay
# sleep 5
lvm vgmknodes
# sleep 5
mkrootdev /dev/root
umount /sys
# sleep 5
mount -o defaults --ro -t ext3 /dev/root /sysroot
switchroot /sysroot

but those didn't give any meaningful output (other than notices about
setting log indentation level).

Finally, I added "sleep 5" after each lvm command (commented out above),
which appeared "solve" the problem. 

Apparently the lvm scripts somehow do their initialization asynchronously
and the init script tries to mount root before it is available. I'm not sure
why this is affected by the kernel version, though.

-- v --

v iki fi

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]