diff options
author | Kyle Fuller <[email protected]> | 2011-08-09 22:39:47 +0100 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-08-19 16:26:13 -0700 |
commit | f0102d6e75d51b8d92624ba054a3fa54c807fb7f (patch) | |
tree | aba7fe5f78f610a46dcd32acb56aef51ce056742 /dracut/90zfs/mount-zfs.sh | |
parent | 146cde8f4acd52d258ba80817dd1134702a91954 (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-x | dracut/90zfs/mount-zfs.sh | 71 |
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 |