]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
base/dracut-lib.sh: fixed ismounted(<mountpoint>)
authorHarald Hoyer <harald@redhat.com>
Mon, 30 Jul 2012 15:04:55 +0000 (17:04 +0200)
committerHarald Hoyer <harald@redhat.com>
Mon, 30 Jul 2012 15:08:52 +0000 (17:08 +0200)
modules.d/99base/dracut-lib.sh

index b4ef59aae12d0e37fa6b88b4b2a2aa90cb9f15b3..b638bd6d4a2772e515d4fa475b9b7a9ef1fdf415 100755 (executable)
@@ -453,15 +453,26 @@ udevproperty() {
 }
 
 find_mount() {
-    local dev mnt etc wanted_dev="$(readlink -e -q $1)"
+    local dev mnt etc wanted_dev
+    wanted_dev="$(readlink -e -q $1)"
     while read dev mnt etc; do
         [ "$dev" = "$wanted_dev" ] && echo "$dev" && return 0
     done < /proc/mounts
     return 1
 }
 
+# usage: ismounted <mountpoint>
+# usage: ismounted /dev/<device>
 ismounted() {
-    find_mount "$1" > /dev/null
+    if str_starts "$1" "/dev"; then
+        find_mount "$1" > /dev/null && return 0
+        return 1
+    fi
+
+    while read a m a; do
+        [ "$m" = "$1" ] && return 0
+    done < /proc/mounts
+    return 1
 }
 
 wait_for_if_up() {