Bring back snapshot listing in new BEADM LIST style, cleanup AWK getline commands, fix Boot Environment display length calculation.

This commit is contained in:
Slawomir Wojciech Wojtczak (vermaden) 2012-09-17 08:37:21 +02:00
parent 238b91277b
commit 51509abad1
1 changed files with 15 additions and 12 deletions

17
beadm
View File

@ -210,8 +210,9 @@ case ${1} in
return BENAME
}
function __convert_date(DATE) {
"date -j -f \"%a %b %d %H:%M %Y\" \"" DATE "\" +\"%Y-%m-%d %H:%M\"" | getline NEW
close("date -j -f \"%a %b %d %H:%M %Y\" \"" DATE "\" +\"%Y-%m-%d %H:%M\"")
CMD_DATE = "date -j -f \"%a %b %d %H:%M %Y\" \"" DATE "\" +\"%Y-%m-%d %H:%M\""
CMD_DATE | getline NEW
close(CMD_DATE)
return NEW
}
BEGIN {
@ -227,12 +228,14 @@ case ${1} in
FSNAME_LENGTH = 2
if(OPTION_a == 1)
FSNAME_LENGTH = 19
while("mount" | getline) {
CMD_MOUNT="mount"
while(CMD_MOUNT | getline)
if($1 ~ "^" BENAME_BEGINS_WITH)
MOUNTS[$1] = $3
}
close(CMD_MOUNT)
FS = "\\t"
while("zfs list -H -t all -s creation -o name,used,usedds,usedbysnapshots,usedrefreserv,refer,creation,origin -r " BENAME_BEGINS_WITH | getline) {
CMD_ZFS_LIST = "zfs list -H -t all -s creation -o name,used,usedds,usedbysnapshots,usedrefreserv,refer,creation,origin -r "
while(CMD_ZFS_LIST BENAME_BEGINS_WITH | getline) {
if($1 != BENAME_BEGINS_WITH) {
FSNAME = $1
FSNAMES[length(FSNAMES) + 1] = FSNAME
@ -269,10 +272,10 @@ case ${1} in
FSNAME_LENGTH = LF
}
}
close(CMD_ZFS_LIST)
split(BELIST, BENAMES, " ")
if(OPTION_a == 1) {
BE_HEAD = "BE/Dataset/Snapshot"
FSNAME_LENGTH = FSNAME_LENGTH + 1 - length(BENAME_BEGINS_WITH)
printf "%-" FSNAME_LENGTH + 2 "s %-6s %-" MOUNTPOINT_LENGTH "s %6s %s\n", BE_HEAD, "Active", "Mountpoint", "Space", "Created"
}
else {
@ -286,7 +289,7 @@ case ${1} in
print BENAME
for(J = 1; J <= length(FSNAMES); J++) {
FSNAME = FSNAMES[J]
if(FSNAME ~ "^" BENAME_BEGINS_WITH "/" BENAME "(/[^@]*)?$") {
if(FSNAME ~ "^" BENAME_BEGINS_WITH "/" BENAME ) {
ACTIVE = ""
if(FSNAME == ROOTFS)
ACTIVE = ACTIVE "N"