[Bug 1269688] Re: Init unable to mount root if it on lvm device, which is over mdadm

Vladimir Skubriev 1269688 at bugs.launchpad.net
Thu Jan 16 11:28:02 UTC 2014


** Attachment added: "Second attempt (by my patch) - normal mounting after vgchange --refresh"
   https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1269688/+attachment/3950001/+files/CAM00117.jpg

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to initramfs-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1269688

Title:
  Init unable to mount root if it on lvm device, which is over mdadm

Status in “initramfs-tools” package in Ubuntu:
  New

Bug description:
  This bug appears follows:

  Sometimes on linux-image-3.2.0-58-generic.
  Always on linux-image-3.5.0-41-generic
  Always on linux-image-3.8.0-35-generic

  I tried to interrupt init by inserting the following code:

  /bin/sh

  in '/usr/share/initramfs-tools/scripts/local'

          # FIXME This has no error checking
          # Mount root
          mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
          mountroot_status="$?"
          /bin/sh #I added this code here
          if [ "$LOOP" ]; then
                  if [ "$mountroot_status" != 0 ]; then
                          if [ ${FSTYPE} = ntfs ] || [ ${FSTYPE} = vfat ]; then

  and of course update initramfs after this.

  dmsetup is correctly show logical volumes, by command `dmsetup ls`

  sysraid-winxp	(252, 5)
  sysraid-lxc_redmine_aptarchives	(252, 12)
  sysraid-zeus--datafs	(252, 11)
  sysraid-lxc_redmine--dev_aptarchives	(252, 14)
  sysraid-lxc_redmine_datafs	(252, 10)
  sysraid-lxc_redmine--dev_datafs	(252, 13)
  sysraid-zeus--home	(252, 8)
  sysraid-zeus--tmp	(252, 2)
  sysraid-squiddebproxy	(252, 6)
  sysraid-zeus--swap	(252, 1)
  sysraid-zeus--rootfs	(252, 0)
  sysraid-backups	(252, 7)
  sysraid-lxc_redmine_rootfs	(252, 9)
  sysraid-zeus--var--log	(252, 3)
  sysraid-zeus--iso--images	(252, 4)
  sysraid-lxc_poseidon	(252, 15)
  sysraid-lxc_pdc	(252, 16)

  But manual mount  of root to /root of initram filesystem is break down
  by error that fs driver cannot find superblock.

  I tried to mount all other existing partitions from volume group
  sysraid, but they  also could not be mounted because of `bad
  superblock`

  Then I tried to mount existing (/boot) partition from mdadm device
  (md0) and it was succesful.

  After that i tried to refresh logical volume's by a command `/sbin/lvm
  vgchange --refresh` and then mount root succefull.

  I decided to improve init script by following code in mountroot function in file
  `/usr/share/initramfs-tools/scripts/local`:

  # Refresh volume group's if prev attempt failed
  #
  dmsetup -v info $ROOT | grep -q 'UUID: LVM'
          if [ "$?" != "1"  ] && [ "$mountroot_status" != 0 ] && [ -x /sbin/lvm ]
          then
                  /sbin/lvm vgchange --refresh && mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
          fi

  It must be inserted after:
  ...
          # FIXME This has no error checking
          # Mount root
          mount ${roflag} ${FSTYPE:+-t ${FSTYPE} }${ROOTFLAGS} ${ROOT} ${rootmnt}
          mountroot_status="$?"

         #INSERT CODE HERE

          if [ "$LOOP" ]; then
                  if [ "$mountroot_status" != 0 ]; then
  ...

  What do you think about this hook?

  Can I rely on the adoption of this patch in upstream?
  ---
  ApportVersion: 2.0.1-0ubuntu17.6
  Architecture: amd64
  DistroRelease: Ubuntu 12.04
  InstallationMedia: Ubuntu-Server 12.04.2 LTS "Precise Pangolin" - Release amd64 (20130214)
  MarkForUpload: True
  Package: initramfs-tools 0.99ubuntu13.4
  PackageArchitecture: all
  ProcEnviron:
   LANGUAGE=en_US:en
   TERM=xterm
   PATH=(custom, no user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcVersionSignature: Ubuntu 3.8.0-35.50~precise1-generic 3.8.13.13
  Tags:  precise
  Uname: Linux 3.8.0-35-generic x86_64
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups:

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1269688/+subscriptions



More information about the foundations-bugs mailing list