From f141d11080315bcdefd09d326b48655cfeb03619 Mon Sep 17 00:00:00 2001 From: "Slawomir Wojciech Wojtczak (vermaden)" Date: Fri, 31 Aug 2012 18:38:12 +0200 Subject: [PATCH] Optimize dataset promotion in BEADM ACTIVATE command. --- beadm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/beadm b/beadm index 025250c..736e424 100755 --- a/beadm +++ b/beadm @@ -418,16 +418,19 @@ EOF exit 1 fi fi + # execute ZFS LIST only once + ZFS_LIST=$( zfs list -H -o name -r ${POOL}/ROOT ) # disable automatic mount on all inactive boot environments - zfs list -H -o name -r ${POOL}/ROOT \ + echo "${ZFS_LIST}" \ | grep -v "^${POOL}/ROOT/${2}" \ | while read NAME do zfs set canmount=noauto ${NAME} done # enable automatic mount for active boot environment and promote it - zfs list -H -o name,origin -r ${POOL}/ROOT/${2} \ - | while read NAME ORIGIN + echo "${ZFS_LIST}" \ + | grep "^${POOL}/ROOT/${2}" \ + | while read NAME do zfs set canmount=on ${NAME} while __be_clone ${NAME}