Comment 0 for bug 1656369

Revision history for this message
Ryan Harper (raharper) wrote :

1. % lsb_release -rd
Description: Ubuntu 16.04.1 LTS
Release: 16.04

2. % apt-cache policy os-prober
os-prober:
  Installed: 1.70ubuntu3
  Candidate: 1.70ubuntu3
  Version table:
 *** 1.70ubuntu3 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

3. os-prober should skip over multipath partitions

4. os-prober only skips currently mounted partitions and ends up mounting the same filesystem a second time with grub-mount; sometimes this results in corrupt reads from /var/lib/os-prober/<mount>/boot/grub/grub.cfg which results in undefined but broken behavior

On multipath systems, you have two block devices pointing to the same disk; when we create and mount a filesytem on one (/dev/sda1) we also see the results on a second device (/dev/sdb1)

grub hooks to calling os-prober which checks /proc/mounts for mounted partitions; it skips /dev/sda1, but when checking if /dev/sdb1 is mounted, its not listed in /proc/mounts and then continues to call grub-mount on /dev/sdb1; this uses grub-fuse to mount the disk a second time.

Even if multipath-tools and the module (dm-multipath) are not loaded, it is possible to detect multipath by examining the FSUUID on the block devices, blkid for example, will show that /dev/sda1 and /dev/sdb1 have the same UUID.

There is a patch for skipping multipath but requires multipathd and the dm-multipath module to be loaded.

https://build-test.opensuse.org/package/view_file/home:coolo:test/os-prober/os-prober-skip-part-on-multipath.patch?expand=1

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: os-prober 1.70ubuntu3
ProcVersionSignature: Ubuntu 4.4.0-59.80-generic 4.4.35
Uname: Linux 4.4.0-59-generic x86_64
NonfreeKernelModules: zfs zunicode zcommon znvpair zavl
ApportVersion: 2.20.1-0ubuntu2.4
Architecture: amd64
CurrentDesktop: GNOME-Flashback:GNOME
Date: Fri Jan 13 11:17:25 2017
Dependencies:
 gcc-6-base 6.0.1-0ubuntu1
 libc6 2.23-0ubuntu5
 libgcc1 1:6.0.1-0ubuntu1
InstallationDate: Installed on 2016-01-01 (378 days ago)
InstallationMedia: Ubuntu 16.04 LTS "Xenial Xerus" - Alpha amd64 (20151209)
SourcePackage: os-prober
UpgradeStatus: No upgrade log present (probably fresh install)