Optimize dataset promotion in BEADM ACTIVATE command.

This commit is contained in:
Slawomir Wojciech Wojtczak (vermaden) 2012-08-31 18:38:12 +02:00
parent d111b1452d
commit f141d11080
1 changed files with 6 additions and 3 deletions

9
beadm
View File

@ -418,16 +418,19 @@ EOF
exit 1 exit 1
fi fi
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 # disable automatic mount on all inactive boot environments
zfs list -H -o name -r ${POOL}/ROOT \ echo "${ZFS_LIST}" \
| grep -v "^${POOL}/ROOT/${2}" \ | grep -v "^${POOL}/ROOT/${2}" \
| while read NAME | while read NAME
do do
zfs set canmount=noauto ${NAME} zfs set canmount=noauto ${NAME}
done done
# enable automatic mount for active boot environment and promote it # enable automatic mount for active boot environment and promote it
zfs list -H -o name,origin -r ${POOL}/ROOT/${2} \ echo "${ZFS_LIST}" \
| while read NAME ORIGIN | grep "^${POOL}/ROOT/${2}" \
| while read NAME
do do
zfs set canmount=on ${NAME} zfs set canmount=on ${NAME}
while __be_clone ${NAME} while __be_clone ${NAME}