volinfo: Correct 'volinfo -sizeonly' totals for partitions and server
commiteb07907582db6a61d9e07c83ae47884143830217
authorMark Vitale <mvitale@sinenomine.net>
Mon, 11 Sep 2023 20:04:43 +0000 (11 16:04 -0400)
committerMichael Meffie <mmeffie@sinenomine.net>
Fri, 28 Jun 2024 20:09:14 +0000 (28 16:09 -0400)
treecd620a66194e64e8b88f718f8123ac08a6ac6ecf
parent4800d28fd43e969adf8390b70b04ad66acb73186
volinfo: Correct 'volinfo -sizeonly' totals for partitions and server

Since the original IBM code import, the volinfo utility has reported
incorrect size information totals for partitions and server (if there is
more than one partition):

  # /usr/afs/bin/volinfo -sizeonly
  Processing Partition /vicepa:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)
  536870915               5       17         2        19       14 root.cell
  536870912               4       17         4        21       17 root.afs
  536870913               2        1         6         7        5 root.afs.readonly
  536870919               2        1         8         9        7 test.readonly
  536870916               5       17        10        27       22 root.cell.readonly
  536870918               2        1        12        13       11 test

  Part Totals            20    55856     43528        96       76 (6 volumes)

  Processing Partition /vicepb:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)

  Part Totals            20    55856     43528        96       76 (0 volumes)

  Processing Partition /vicepd:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)

  Part Totals            20    55856     43528        96       76 (0 volumes)

  Processing Partition /vicepz:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)

  Part Totals            20    55856     43528        96       76 (0 volumes)

  Processing Partition /vicepc:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)

  Part Totals            20    55856     43528        96       76 (0 volumes)

  Server Totals         100   279280    217640       480      380

This is because the partition totals are not zeroed for each partition.
As you can see in the output above, each empty partitions is reported
with the same totals as the first partition.  The problem is then
exacerbated by adding all the erroneous partition totals to arrive at an
incorrect server total.

Zero the partition counters after processing each partition so the
totals are now reported correctly:

  sudo src/vol/volinfo -sizeonly
  Processing Partition /vicepa:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)
  536870915               5       17         2        19       14 root.cell
  536870912               4       17         4        21       17 root.afs
  536870913               2        1         6         7        5 root.afs.readonly
  536870919               2        1         8         9        7 test.readonly
  536870916               5       17        10        27       22 root.cell.readonly
  536870918               8       17        12        29       21 test

  Part Totals            26    72340     43533       112       86 (6 volumes)

  Processing Partition /vicepb:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)

  Part Totals             0        0         0         0        0 (0 volumes)

  Processing Partition /vicepd:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)

  Part Totals             0        0         0         0        0 (0 volumes)

  Processing Partition /vicepz:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)

  Part Totals             0        0         0         0        0 (0 volumes)

  Processing Partition /vicepc:
  Volume-Id         Volsize  Auxsize Inodesize  AVolsize SizeDiff (VolName)

  Part Totals             0        0         0         0        0 (0 volumes)

  Server Totals          26    72340     43533       112       86

Change-Id: Iffe29a71d76b825365f99deeb36e59fda3707117
Reviewed-on: https://gerrit.openafs.org/15564
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: gsvolt <gsvolt7@gmail.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
src/vol/vol-info.c