aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdracut/90zfs/module-setup.sh62
-rwxr-xr-xdracut/90zfs/mount-zfs.sh104
-rwxr-xr-xdracut/90zfs/parse-zfs.sh62
3 files changed, 114 insertions, 114 deletions
diff --git a/dracut/90zfs/module-setup.sh b/dracut/90zfs/module-setup.sh
index 1816b38d7..6dd3d5c17 100755
--- a/dracut/90zfs/module-setup.sh
+++ b/dracut/90zfs/module-setup.sh
@@ -1,46 +1,46 @@
#!/bin/sh
check() {
- # We depend on udev-rules being loaded
- [ "$1" = "-d" ] && return 0
+ # We depend on udev-rules being loaded
+ [ "$1" = "-d" ] && return 0
- # Verify the zfs tool chain
- which zpool >/dev/null 2>&1 || return 1
- which zfs >/dev/null 2>&1 || return 1
+ # Verify the zfs tool chain
+ which zpool >/dev/null 2>&1 || return 1
+ which zfs >/dev/null 2>&1 || return 1
- return 0
+ return 0
}
depends() {
- echo udev-rules
- return 0
+ echo udev-rules
+ return 0
}
installkernel() {
- instmods zfs
- instmods zcommon
- instmods znvpair
- instmods zavl
- instmods zunicode
- instmods spl
- instmods zlib_deflate
- instmods zlib_inflate
+ instmods zfs
+ instmods zcommon
+ instmods znvpair
+ instmods zavl
+ instmods zunicode
+ instmods spl
+ instmods zlib_deflate
+ instmods zlib_inflate
}
install() {
- inst_rules "$moddir/90-zfs.rules"
- inst_rules /etc/udev/rules.d/60-zpool.rules
- inst_rules /etc/udev/rules.d/60-zvol.rules
- inst /etc/zfs/zdev.conf
- inst /etc/zfs/zpool.cache
- inst /etc/hostid
- dracut_install zfs
- dracut_install zpool
- dracut_install zpool_layout
- dracut_install zpool_id
- dracut_install zvol_id
- dracut_install mount.zfs
- dracut_install hostid
- inst_hook cmdline 95 "$moddir/parse-zfs.sh"
- inst_hook mount 98 "$moddir/mount-zfs.sh"
+ inst_rules "$moddir/90-zfs.rules"
+ inst_rules /etc/udev/rules.d/60-zpool.rules
+ inst_rules /etc/udev/rules.d/60-zvol.rules
+ inst /etc/zfs/zdev.conf
+ inst /etc/zfs/zpool.cache
+ inst /etc/hostid
+ dracut_install zfs
+ dracut_install zpool
+ dracut_install zpool_layout
+ dracut_install zpool_id
+ dracut_install zvol_id
+ dracut_install mount.zfs
+ dracut_install hostid
+ inst_hook cmdline 95 "$moddir/parse-zfs.sh"
+ inst_hook mount 98 "$moddir/mount-zfs.sh"
}
diff --git a/dracut/90zfs/mount-zfs.sh b/dracut/90zfs/mount-zfs.sh
index e067c18a0..a451bf9f5 100755
--- a/dracut/90zfs/mount-zfs.sh
+++ b/dracut/90zfs/mount-zfs.sh
@@ -4,65 +4,65 @@
ZPOOL_FORCE=""
if getargbool 0 zfs_force -y zfs.force -y zfsforce ; then
- warn "ZFS: Will force-import pools if necessary."
- ZPOOL_FORCE="-f"
+ warn "ZFS: Will force-import pools if necessary."
+ ZPOOL_FORCE="-f"
fi
case "$root" in
- zfs:*)
- # We have ZFS modules loaded, so we're able to import pools now.
- if [ "$root" = "zfs:AUTO" ] ; then
- # Need to parse bootfs attribute
- info "ZFS: Attempting to detect root from imported ZFS pools."
+ zfs:*)
+ # We have ZFS modules loaded, so we're able to import pools now.
+ if [ "$root" = "zfs:AUTO" ] ; then
+ # Need to parse bootfs attribute
+ info "ZFS: Attempting to detect root from imported ZFS pools."
- # Might be imported by the kernel module, so try searching before
- # we import anything.
- zfsbootfs=`zpool list -H -o bootfs | sed 'q'`
- if [ "$zfsbootfs" = "" ] ; then
- # Not there, so we need to import everything.
- info "ZFS: Attempting to import additional pools."
- zpool import -N -a ${ZPOOL_FORCE}
- zfsbootfs=`zpool list -H -o bootfs | sed 'q'`
- if [ "$zfsbootfs" = "" ] ; then
- rootok=0
- pool=""
+ # Might be imported by the kernel module, so try searching before
+ # we import anything.
+ zfsbootfs=`zpool list -H -o bootfs | sed 'q'`
+ if [ "$zfsbootfs" = "" ] ; then
+ # Not there, so we need to import everything.
+ info "ZFS: Attempting to import additional pools."
+ zpool import -N -a ${ZPOOL_FORCE}
+ zfsbootfs=`zpool list -H -o bootfs | sed 'q'`
+ if [ "$zfsbootfs" = "" ] ; then
+ rootok=0
+ pool=""
- warn "ZFS: No bootfs attribute found in importable pools."
+ warn "ZFS: No bootfs attribute found in importable pools."
- # Re-export everything since we're not prepared to take
- # responsibility for them.
- zpool list -H | while read fs rest ; do
- zpool export "$fs"
- done
+ # Re-export everything since we're not prepared to take
+ # responsibility for them.
+ zpool list -H | while read fs rest ; do
+ zpool export "$fs"
+ done
- return 1
- fi
- fi
- info "ZFS: Using ${zfsbootfs} as root."
- else
- # Should have an explicit pool set, so just import it and we're done.
- zfsbootfs="${root#zfs:}"
- pool="${zfsbootfs%%/*}"
- if ! zpool list -H $pool > /dev/null ; then
- # pool wasn't imported automatically by the kernel module, so
- # try it manually.
- info "ZFS: Importing pool ${pool}..."
- if ! zpool import -N ${ZPOOL_FORCE} $pool ; then
- warn "ZFS: Unable to import pool ${pool}."
- rootok=0
+ return 1
+ fi
+ fi
+ info "ZFS: Using ${zfsbootfs} as root."
+ else
+ # Should have an explicit pool set, so just import it and we're done.
+ zfsbootfs="${root#zfs:}"
+ pool="${zfsbootfs%%/*}"
+ if ! zpool list -H $pool > /dev/null ; then
+ # pool wasn't imported automatically by the kernel module, so
+ # try it manually.
+ info "ZFS: Importing pool ${pool}..."
+ if ! zpool import -N ${ZPOOL_FORCE} $pool ; then
+ warn "ZFS: Unable to import pool ${pool}."
+ rootok=0
- return 1
- fi
- fi
- fi
+ return 1
+ fi
+ fi
+ fi
- # Above should have left our rpool imported and pool/dataset in $root.
- # We need zfsutil for non-legacy mounts and not for legacy mounts.
- mountpoint=`zfs get -H -o value mountpoint $zfsbootfs`
- if [ "$mountpoint" = "legacy" ] ; then
- mount -t zfs "$zfsbootfs" "$NEWROOT" && ROOTFS_MOUNTED=yes
- else
- mount -o zfsutil -t zfs "$zfsbootfs" "$NEWROOT" && ROOTFS_MOUNTED=yes
- fi
- ;;
+ # Above should have left our rpool imported and pool/dataset in $root.
+ # We need zfsutil for non-legacy mounts and not for legacy mounts.
+ mountpoint=`zfs get -H -o value mountpoint $zfsbootfs`
+ if [ "$mountpoint" = "legacy" ] ; then
+ mount -t zfs "$zfsbootfs" "$NEWROOT" && ROOTFS_MOUNTED=yes
+ else
+ mount -o zfsutil -t zfs "$zfsbootfs" "$NEWROOT" && ROOTFS_MOUNTED=yes
+ fi
+ ;;
esac
diff --git a/dracut/90zfs/parse-zfs.sh b/dracut/90zfs/parse-zfs.sh
index f8974b95e..a5e84ad19 100755
--- a/dracut/90zfs/parse-zfs.sh
+++ b/dracut/90zfs/parse-zfs.sh
@@ -5,42 +5,42 @@
# Let the command line override our host id.
spl_hostid=`getarg spl_hostid=`
if [ "${spl_hostid}" != "" ] ; then
- info "ZFS: Using hostid from command line: ${spl_hostid}"
- echo "${spl_hostid}" > /etc/hostid
+ info "ZFS: Using hostid from command line: ${spl_hostid}"
+ echo "${spl_hostid}" > /etc/hostid
elif [ -f /etc/hostid ] ; then
- info "ZFS: Using hostid from /etc/hostid: `cat /etc/hostid`"
+ info "ZFS: Using hostid from /etc/hostid: `cat /etc/hostid`"
else
- warn "ZFS: No hostid found on kernel command line or /etc/hostid. ZFS pools may not import correctly."
+ warn "ZFS: No hostid found on kernel command line or /etc/hostid. ZFS pools may not import correctly."
fi
case "$root" in
- ""|zfs|zfs:)
- # We'll take root unset, root=zfs, or root=zfs:
- # No root set, so we want to read the bootfs attribute. We can't do
- # that until udev settles so we'll set dummy values and hope for the
- # best later on.
- root="zfs:AUTO"
- rootok=1
-
- info "ZFS: Enabling autodetection of bootfs after udev settles."
- ;;
-
- ZFS\=*|zfs:*|zfs:FILESYSTEM\=*|FILESYSTEM\=*)
- # root is explicit ZFS root. Parse it now.
- # We can handle a root=... param in any of the following formats:
- # root=ZFS=rpool/ROOT
- # root=zfs:rpool/ROOT
- # root=zfs:FILESYSTEM=rpool/ROOT
- # root=FILESYSTEM=rpool/ROOT
-
- # Strip down to just the pool/fs
- root="${root#zfs:}"
- root="${root#FILESYSTEM=}"
- root="zfs:${root#ZFS=}"
- rootok=1
-
- info "ZFS: Set ${root} as bootfs."
- ;;
+ ""|zfs|zfs:)
+ # We'll take root unset, root=zfs, or root=zfs:
+ # No root set, so we want to read the bootfs attribute. We can't do
+ # that until udev settles so we'll set dummy values and hope for the
+ # best later on.
+ root="zfs:AUTO"
+ rootok=1
+
+ info "ZFS: Enabling autodetection of bootfs after udev settles."
+ ;;
+
+ ZFS\=*|zfs:*|zfs:FILESYSTEM\=*|FILESYSTEM\=*)
+ # root is explicit ZFS root. Parse it now.
+ # We can handle a root=... param in any of the following formats:
+ # root=ZFS=rpool/ROOT
+ # root=zfs:rpool/ROOT
+ # root=zfs:FILESYSTEM=rpool/ROOT
+ # root=FILESYSTEM=rpool/ROOT
+
+ # Strip down to just the pool/fs
+ root="${root#zfs:}"
+ root="${root#FILESYSTEM=}"
+ root="zfs:${root#ZFS=}"
+ rootok=1
+
+ info "ZFS: Set ${root} as bootfs."
+ ;;
esac
# Make sure Dracut is happy that we have a root and will wait for ZFS