From: Tom Keiser Date: Sun, 20 Mar 2005 15:12:43 +0000 (+0000) Subject: STABLE14-vos-partinfo-summary-mode-20050320 X-Git-Tag: openafs-devel-1_3_80~9 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=72e39a0ed8b499a71cfc8d12a85dac84fdf97ae7;p=packages%2Fo%2Fopenafs.git STABLE14-vos-partinfo-summary-mode-20050320 FIXES 17868 add a summary mode to vos partinfo (cherry picked from commit 37f7895c48c2a5cafae15ae79d04f196e6fa6989) --- diff --git a/src/volser/vos.c b/src/volser/vos.c index 4df2e3eba..826fb1067 100644 --- a/src/volser/vos.c +++ b/src/volser/vos.c @@ -4651,6 +4651,8 @@ PartitionInfo(as) struct diskPartition partition; struct partList dummyPartList; int i, cnt; + int printSummary=0, sumPartitions=0; + long long sumFree=0, sumStorage=0; apart = -1; aserver = GetServer(as->parms[0].items->data); @@ -4670,6 +4672,9 @@ PartitionInfo(as) dummyPartList.partFlags[0] = PARTVALID; cnt = 1; } + if (as->parms[2].items) { + printSummary = 1; + } if (apart != -1) { if (!IsPartValid(apart, aserver, &code)) { /*check for validity of the partition */ if (code) @@ -4700,8 +4705,16 @@ PartitionInfo(as) fprintf(STDOUT, "Free space on partition %s: %d K blocks out of total %d\n", pname, partition.free, partition.minFree); + sumPartitions++; + sumFree += partition.free; + sumStorage += partition.minFree; } } + if (printSummary) { + fprintf(STDOUT, + "Summary: %lld K blocks free out of %lld K blocks on %d partitions\n", + sumFree, sumStorage, sumPartitions); + } return 0; } @@ -5613,6 +5626,8 @@ main(argc, argv) "list partition information"); cmd_AddParm(ts, "-server", CMD_SINGLE, 0, "machine name"); cmd_AddParm(ts, "-partition", CMD_SINGLE, CMD_OPTIONAL, "partition name"); + cmd_AddParm(ts, "-summary", CMD_FLAG, CMD_OPTIONAL, + "print storage summary"); COMMONPARMS; ts = cmd_CreateSyntax("unlockvldb", UnlockVLDB, 0,