Provide even more accurate space usage calculation.

This commit is contained in:
Slawomir Wojciech Wojtczak (vermaden) 2012-08-27 21:36:28 +02:00
parent 61f2a79cf7
commit 329bbf504d
1 changed files with 9 additions and 3 deletions

10
beadm
View File

@ -163,6 +163,12 @@ fi
BOOTFS=$( zpool list -H -o bootfs ${POOL} ) BOOTFS=$( zpool list -H -o bootfs ${POOL} )
if [ "${BOOTFS}" = "" -o "${BOOTFS}" = "-" ]
then
echo "ERROR: ZFS boot pool '${POOL}' has unset 'bootfs' property"
exit 1
fi
case ${1} in case ${1} in
(list) # -------------------------------------------------------------------- (list) # --------------------------------------------------------------------
@ -219,7 +225,7 @@ case ${1} in
SNAPSHOT=$( echo "${SNAPSHOT_ALL}" | awk "/^${POOL}\/ROOT\/${NAME}\t/" | awk -F '@' '{print $2}' ) SNAPSHOT=$( echo "${SNAPSHOT_ALL}" | awk "/^${POOL}\/ROOT\/${NAME}\t/" | awk -F '@' '{print $2}' )
# calculate space total usage for boot environment # calculate space total usage for boot environment
TOTAL=$( echo "${USED_ALL}" \ TOTAL=$( echo "${USED_ALL}" \
| awk -v name="^${POOL}\/ROOT\/${NAME}$" -v snapshot="@${SNAPSHOT}$" \ | awk -v name="^${POOL}\/ROOT\/${NAME}" -v snapshot="@${SNAPSHOT}$" \
'BEGIN {total = 0} 'BEGIN {total = 0}
($1 ~ name) {total += $2 * $3} ($1 ~ name) {total += $2 * $3}
($1 ~ snapshot) {total += $4 * $5} ($1 ~ snapshot) {total += $4 * $5}
@ -303,7 +309,7 @@ case ${1} in
# do not change root (/) mounted boot environment mountpoint # do not change root (/) mounted boot environment mountpoint
if [ "${ROOTFS}" != "${POOL}/ROOT/${2}" ] if [ "${ROOTFS}" != "${POOL}/ROOT/${2}" ]
then then
TMPMNT="/tmp/beadm" TMPMNT=$( mktemp -d /tmp/tmp.XXXXXX )
if ! mkdir -p ${TMPMNT} if ! mkdir -p ${TMPMNT}
then then
echo "ERROR: Cannot create '${TMPMNT}' directory" echo "ERROR: Cannot create '${TMPMNT}' directory"