aboutsummaryrefslogtreecommitdiffstats
path: root/dracut/90zfs/mount-zfs.sh
diff options
context:
space:
mode:
authorKyle Fuller <[email protected]>2011-08-09 22:39:47 +0100
committerBrian Behlendorf <[email protected]>2011-08-19 16:26:13 -0700
commitf0102d6e75d51b8d92624ba054a3fa54c807fb7f (patch)
treeaba7fe5f78f610a46dcd32acb56aef51ce056742 /dracut/90zfs/mount-zfs.sh
parent146cde8f4acd52d258ba80817dd1134702a91954 (diff)
Make dracut module-setup.sh an autoconf config file
This ensures that module-setup.sh script will always be able to install the required dracut components regardless of how the zfs package was configured. Signed-off-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'dracut/90zfs/mount-zfs.sh')
-rwxr-xr-xdracut/90zfs/mount-zfs.sh71
1 files changed, 0 insertions, 71 deletions
diff --git a/dracut/90zfs/mount-zfs.sh b/dracut/90zfs/mount-zfs.sh
deleted file mode 100755
index 49d68466c..000000000
--- a/dracut/90zfs/mount-zfs.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-#!/bin/sh
-
-. /lib/dracut-lib.sh
-
-ZPOOL_FORCE=""
-
-if getargbool 0 zfs_force -y zfs.force -y zfsforce ; then
- 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."
-
- # Might be imported by the kernel module, so try searching before
- # we import anything.
- zfsbootfs=`zpool list -H -o bootfs | sed 'q'`
- if [ "$?" != "0" ] || [ "$zfsbootfs" = "" ] || \
- [ "$zfsbootfs" = "no pools available" ] ; 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 [ "$?" != "0" ] || [ "$zfsbootfs" = "" ] || \
- [ "$zfsbootfs" = "no pools available" ] ; then
- rootok=0
- pool=""
-
- 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
-
- 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
-
- # 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