initramfs: fix zpool get argument order
When using the zfs initramfs scripts on my system, I get various errors at initramfs stage, such as: cannot open '-o': name must begin with a letter My zfs binaries are compiled with musl libc, which may be why this happens. In any case, fix the argument order to make the zpool binary happy, and to match its --help output. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu> Signed-off-by: Daniel Kolesa <daniel@octaforge.org> Closes #14572
This commit is contained in:
parent
576d34cb11
commit
050be02c02
|
@ -192,7 +192,7 @@ import_pool()
|
||||||
|
|
||||||
# Verify that the pool isn't already imported
|
# Verify that the pool isn't already imported
|
||||||
# Make as sure as we can to not require '-f' to import.
|
# Make as sure as we can to not require '-f' to import.
|
||||||
"${ZPOOL}" get name,guid -o value -H 2>/dev/null | grep -Fxq "$pool" && return 0
|
"${ZPOOL}" get -H -o value name,guid 2>/dev/null | grep -Fxq "$pool" && return 0
|
||||||
|
|
||||||
# For backwards compatibility, make sure that ZPOOL_IMPORT_PATH is set
|
# For backwards compatibility, make sure that ZPOOL_IMPORT_PATH is set
|
||||||
# to something we can use later with the real import(s). We want to
|
# to something we can use later with the real import(s). We want to
|
||||||
|
@ -882,12 +882,12 @@ mountroot()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# In case the pool was specified as guid, resolve guid to name
|
# In case the pool was specified as guid, resolve guid to name
|
||||||
pool="$("${ZPOOL}" get name,guid -o name,value -H | \
|
pool="$("${ZPOOL}" get -H -o name,value name,guid | \
|
||||||
awk -v pool="${ZFS_RPOOL}" '$2 == pool { print $1 }')"
|
awk -v pool="${ZFS_RPOOL}" '$2 == pool { print $1 }')"
|
||||||
if [ -n "$pool" ]; then
|
if [ -n "$pool" ]; then
|
||||||
# If $ZFS_BOOTFS contains guid, replace the guid portion with $pool
|
# If $ZFS_BOOTFS contains guid, replace the guid portion with $pool
|
||||||
ZFS_BOOTFS=$(echo "$ZFS_BOOTFS" | \
|
ZFS_BOOTFS=$(echo "$ZFS_BOOTFS" | \
|
||||||
sed -e "s/$("${ZPOOL}" get guid -o value "$pool" -H)/$pool/g")
|
sed -e "s/$("${ZPOOL}" get -H -o value guid "$pool")/$pool/g")
|
||||||
ZFS_RPOOL="${pool}"
|
ZFS_RPOOL="${pool}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue