Blacklist devices used for /live/rootfs/* insted of /live/medium.
authorJan Blunck <jblunck@vyatta.com>
Tue, 3 Sep 2013 08:41:42 +0000 (10:41 +0200)
committerDaniel Baumann <mail@daniel-baumann.ch>
Fri, 13 Sep 2013 12:15:56 +0000 (14:15 +0200)
The path /live/medium is used for probing different devices when searching
for the live rootfs. There is no reason why that device should be banned
from being used for persistence storage. Instead the devices that are
actually used as the backing storage for the live rootfs should be banned.

components/9990-misc-helpers.sh

index 4c8383d..2515ea1 100755 (executable)
@@ -932,7 +932,17 @@ find_persistence_media ()
        white_listed_devices="${2}"
        ret=""
 
-       black_listed_devices="$(what_is_mounted_on /live/medium) $(what_is_mounted_on /live/findiso) $(what_is_mounted_on /live/fromiso)"
+       #
+       # The devices that are hosting the actual live rootfs should not be
+       # used for persistence storage since otherwise you might mount a
+       # parent directory on top of a sub-directory of the same filesystem
+       # in one union together.
+       #
+       black_listed_devices=""
+       for d in /live/rootfs/* /live/findiso /live/fromiso
+       do
+               black_listed_devices="${black_listed_devices} $(what_is_mounted_on d)"
+       done
 
        for dev in $(storage_devices "${black_listed_devices}" "${white_listed_devices}")
        do