summaryrefslogtreecommitdiffstats
path: root/contrib/initramfs
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/initramfs')
-rw-r--r--contrib/initramfs/scripts/zfs.in8
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/initramfs/scripts/zfs.in b/contrib/initramfs/scripts/zfs.in
index 52098cc14..d51ae1ea0 100644
--- a/contrib/initramfs/scripts/zfs.in
+++ b/contrib/initramfs/scripts/zfs.in
@@ -317,6 +317,14 @@ mount_fs()
"${ZFS}" list -oname -tfilesystem -H "${fs}" > /dev/null 2>&1
[ "$?" -ne 0 ] && return 1
+ # Skip filesystems with canmount=off. The root fs should not have
+ # canmount=off, but ignore it for backwards compatibility just in case.
+ if [ "$fs" != "${ZFS_BOOTFS}" ]
+ then
+ canmount=$(get_fs_value "$fs" canmount)
+ [ "$canmount" = "off" ] && return 0
+ fi
+
# Need the _original_ datasets mountpoint!
mountpoint=$(get_fs_value "$fs" mountpoint)
if [ "$mountpoint" = "legacy" -o "$mountpoint" = "none" ]; then