From a5f01bbfb5374bd6c136a3d34bad021bf20b27ab Mon Sep 17 00:00:00 2001
From: Will Woods <wwoods@redhat.com>
Date: Fri, 27 Jul 2012 13:12:29 -0400
Subject: [PATCH] dracut-lib: add find_mount, use it to implement ismounted
find_mount is really the same thing as ismounted with two additions:
1) uses "readlink" so "ismounted /dev/disk/by-label/LABEL" works
2) returns the mountpoint of the device
And ismounted is now just "find_mount $dev >/dev/null".
---
modules.d/99base/dracut-lib.sh | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 3a7be9a..813cead 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -452,13 +452,18 @@ udevproperty() {
fi
}
-ismounted() {
- while read a m a; do
- [ "$m" = "$1" ] && return 0
+find_mount() {
+ local dev mnt etc wanted_dev="$(readlink -e -q $1)"
+ while read dev mnt etc; do
+ [ "$dev" = "$wanted_dev" ] && echo "$dev" && return 0
done < /proc/mounts
return 1
}
+ismounted() {
+ find_mount "$1" > /dev/null
+}
+
wait_for_if_up() {
local cnt=0
local li