diff --git a/modules.d/90btrfs/btrfs_finished.sh b/modules.d/90btrfs/btrfs_finished.sh index b01db690..ba65bfd2 100755 --- a/modules.d/90btrfs/btrfs_finished.sh +++ b/modules.d/90btrfs/btrfs_finished.sh @@ -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