btrfs_finished.sh: fix udevadm query
authorHarald Hoyer <harald@redhat.com>
Tue, 7 Feb 2012 09:22:51 +0000 (10:22 +0100)
committerHarald Hoyer <harald@redhat.com>
Tue, 7 Feb 2012 09:23:29 +0000 (10:23 +0100)
modules.d/90btrfs/btrfs_finished.sh

index b01db69..ba65bfd 100755 (executable)
@@ -6,15 +6,17 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
 
 dev="${1:-/dev/root}"
 
-if [ -e "$dev" ]; then
-   if strstr "$(udevadm info --query=env \"--name=$dev\")" "ID_FS_TYPE=btrfs"; then
-      info "Checking, if btrfs device complete"
-      unset __btrfs_mount
-      mount -o ro "$dev" /tmp >/dev/null 2>&1
-      __btrfs_mount=$?
-      [ $__btrfs_mount -eq 0 ] && umount "$dev" >/dev/null 2>&1
-      exit $__btrfs_mount
-   fi
-fi
+[ -e "$dev" ] && {
+    local rootinfo;
+    rootinfo=$(udevadm info --query=env "--name=$dev" 2>/dev/null)
+    if strstr "$rootinfo" "ID_FS_TYPE=btrfs"; then
+        info "Checking, if btrfs device complete"
+        unset __btrfs_mount
+        mount -o ro "$dev" /tmp >/dev/null 2>&1
+        __btrfs_mount=$?
+        [ $__btrfs_mount -eq 0 ] && umount "$dev" >/dev/null 2>&1
+        exit $__btrfs_mount
+    fi
+}
 
 exit 0