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.
1. % lsb_release -rd
Description: Ubuntu 16.04.1 LTS
Release: 16.04
2. % apt-cache policy os-prober us.archive. ubuntu. com/ubuntu xenial/main amd64 Packages dpkg/status
os-prober:
Installed: 1.70ubuntu3
Candidate: 1.70ubuntu3
Version table:
*** 1.70ubuntu3 500
500 http://
100 /var/lib/
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 ature: Ubuntu 4.4.0-59.80-generic 4.4.35 dules: zfs zunicode zcommon znvpair zavl :GNOME
DistroRelease: Ubuntu 16.04
Package: os-prober 1.70ubuntu3
ProcVersionSign
Uname: Linux 4.4.0-59-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.1-0ubuntu2.4
Architecture: amd64
CurrentDesktop: GNOME-Flashback
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)