Minor (destroy) fixes.

This commit is contained in:
Slawomir Wojciech Wojtczak (vermaden) 2012-05-07 20:15:58 +02:00
parent d94213443d
commit 3701f893d5
1 changed files with 10 additions and 7 deletions

17
beadm
View File

@ -28,7 +28,7 @@ PATH=${PATH}:/bin:/usr/bin:/sbin:/usr/sbin
if [ $( uname -r | cut -d '.' -f1 ) -lt 8 ] if [ $( uname -r | cut -d '.' -f1 ) -lt 8 ]
then then
echo "ERROR: beadm only works on FreeBSD 8.0 or later." echo "ERROR: beadm only works on FreeBSD 8.0 or later"
fi fi
__usage() { __usage() {
@ -276,7 +276,7 @@ EOF
fi fi
else else
ORIGINS=$( zfs list -r -H -o origin ${POOL}/ROOT/${2} ) ORIGINS=$( zfs list -r -H -o origin ${POOL}/ROOT/${2} )
if zfs destroy ${POOL}/ROOT/${2} 1> /dev/null 2> /dev/null if ! zfs destroy ${POOL}/ROOT/${2} 1> /dev/null 2> /dev/null
then then
zfs destroy -r ${POOL}/ROOT/${2} 2>&1 \ zfs destroy -r ${POOL}/ROOT/${2} 2>&1 \
| grep "${POOL}/ROOT/" \ | grep "${POOL}/ROOT/" \
@ -286,11 +286,14 @@ EOF
zfs promote ${I} 2> /dev/null zfs promote ${I} 2> /dev/null
done done
fi fi
echo "${ORIGINS}" \ if ! [ "${ORIGINS}" = "-" ]
| while read I then
do echo "${ORIGINS}" \
zfs destroy -r ${I} 2> /dev/null | while read I
done do
zfs destroy -r ${I} 2> /dev/null
done
fi
fi fi
echo "Destroyed successfully" echo "Destroyed successfully"
;; ;;