summaryrefslogtreecommitdiffstats
path: root/contrib/dracut/90zfs/parse-zfs.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dracut/90zfs/parse-zfs.sh.in')
-rwxr-xr-xcontrib/dracut/90zfs/parse-zfs.sh.in3
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/dracut/90zfs/parse-zfs.sh.in b/contrib/dracut/90zfs/parse-zfs.sh.in
index 9cf46d754..2a532c75b 100755
--- a/contrib/dracut/90zfs/parse-zfs.sh.in
+++ b/contrib/dracut/90zfs/parse-zfs.sh.in
@@ -39,11 +39,14 @@ case "${root}" in
# root=zfs:rpool/ROOT
# root=zfs:FILESYSTEM=rpool/ROOT
# root=FILESYSTEM=rpool/ROOT
+ # root=ZFS=pool+with+space/ROOT+WITH+SPACE (translates to root=ZFS=pool with space/ROOT WITH SPACE)
# Strip down to just the pool/fs
root="${root#zfs:}"
root="${root#FILESYSTEM=}"
root="zfs:${root#ZFS=}"
+ # switch + with spaces because kernel cmdline does not allow us to quote parameters
+ root=$(printf '%s\n' "$root" | sed "s/+/ /g")
rootok=1
wait_for_zfs=1