Handling already mounted persistence backing media correctly.
authorTails developers <amnesia@boum.org>
Fri, 7 Dec 2012 21:29:15 +0000 (22:29 +0100)
committerDaniel Baumann <daniel@debian.org>
Fri, 7 Dec 2012 21:29:15 +0000 (22:29 +0100)
I.e. treat the case where a backing media already had been mounted in
the expected place like a success (by printing the mount dir). This
doesn't fix any bug in live-boot, but it will come in handy for the
(soon-to-come) script for activating custom persistence in user-space.

While we're at it, document this function.

scripts/boot/9990-misc-helpers.sh

index 06a80f8..94c48e6 100755 (executable)
@@ -723,6 +723,11 @@ try_mount ()
        fi
 }
 
+# Try to mount $device to the place expected by live-boot. If $device
+# is already mounted somewhere, move it to the expected place. If
+# we're only probing $device (to check if it has custom persistence)
+# $probe should be set, which suppresses warnings upon failure. On
+# success, print the mount point for $device.
 mount_persistence_media ()
 {
        local device=${1}
@@ -760,8 +765,12 @@ mount_persistence_media ()
                        rmdir "${backing}"
                        return 1
                fi
+       else
+               # This means that $device has already been mounted on
+               # the place expected by live-boot, so we're done.
+               echo ${backing}
+               return 0
        fi
-       return 0
 }
 
 close_persistence_media ()