The former implementation looped through a list of block
devices, mounted them, looked for the fstab file, reads it
and umounted the device again. In a next step we mounted
all entries from that fstab file as listed. The problem
with this approach is that the mount of the root device
already happened and we did it again. As this is not needed
it should also not create a problem. But it does create
a problem in multipath environments. With the absence of
the multipath setup in the live migration system only one
of the multipath devices can be mounted. This device was
found by our loop approach but is not necessarily the
right choice when mounting the device as referenced from
the fstab file without multipath running. Therefore this
commit makes sure the root device is mounted only once
and only through our best guess loop and not by the entry
in the fstab file.
The former implementation looped through a list of block devices, mounted them, looked for the fstab file, reads it and umounted the device again. In a next step we mounted all entries from that fstab file as listed. The problem with this approach is that the mount of the root device already happened and we did it again. As this is not needed it should also not create a problem. But it does create a problem in multipath environments. With the absence of the multipath setup in the live migration system only one of the multipath devices can be mounted. This device was found by our loop approach but is not necessarily the right choice when mounting the device as referenced from the fstab file without multipath running. Therefore this commit makes sure the root device is mounted only once and only through our best guess loop and not by the entry in the fstab file.