aboutsummaryrefslogtreecommitdiff
path: root/contrib/dracut/90zfs/export-zfs.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/dracut/90zfs/export-zfs.sh.in')
-rwxr-xr-xcontrib/dracut/90zfs/export-zfs.sh.in30
1 files changed, 30 insertions, 0 deletions
diff --git a/contrib/dracut/90zfs/export-zfs.sh.in b/contrib/dracut/90zfs/export-zfs.sh.in
new file mode 100755
index 000000000000..09e4a3cc0e5e
--- /dev/null
+++ b/contrib/dracut/90zfs/export-zfs.sh.in
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+. /lib/dracut-zfs-lib.sh
+
+_do_zpool_export() {
+ ret=0
+ errs=""
+ final="${1}"
+
+ info "ZFS: Exporting ZFS storage pools..."
+ errs=$(export_all -F 2>&1)
+ ret=$?
+ [ -z "${errs}" ] || echo "${errs}" | vwarn
+ if [ "x${ret}" != "x0" ]; then
+ info "ZFS: There was a problem exporting pools."
+ fi
+
+ if [ "x${final}" != "x" ]; then
+ info "ZFS: pool list"
+ zpool list 2>&1 | vinfo
+ fi
+
+ return ${ret}
+}
+
+if command -v zpool >/dev/null; then
+ _do_zpool_export "${1}"
+else
+ :
+fi