viced: use calloc in SRXAFS_GetXStats 04/13204/8
authorMichael Meffie <mmeffie@sinenomine.net>
Tue, 12 Jun 2018 15:37:01 +0000 (11:37 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 25 Jan 2019 23:42:59 +0000 (18:42 -0500)
commitc37cdbeab4e4675e71b7764994cd7e68ac46c111
treeccf60e2411c5dc08b9f0dfa50a202d2e25e1b4dc
parent6b67cac432043a43d7cdfa6af972ab54412aff94
viced: use calloc in SRXAFS_GetXStats

The file server stats are maintained in global static structures, which
are zero-ed on program start. The full contents are memcpy-ed to
allocated buffers as rx output arguments, so no uninitialized data is
sent over the wire. However, this commit converts the output buffer
allocation from malloc to calloc to make this more clear from code
inspection and make the code more robust.

While here, clean up the comments in SRXAFS_GetXStats and remove the
commented out code for a collection type which was never implemented.
Remove the comments about overwriting spare xstat values, which seems to
be a remnant from an early version of the code.

For informational purposes, add a note at the top of SRXAFS_GetXStats to
make it clear the CallPremable() is intentionally avoided in this
implementation of the GetXStats RPC.  Apparently, the CallPremable() is
omitted since the OpenAFS file server does not to send callbacks to
clients issuing only GetXStats RPCs, and so also avoids sending TMAY
requests to clients like xstat_fs_test.

Note that the presumably older GetStatistics and GetStatistics64 do
unfortunately invoke CallPreamble(), so programs such as scout, must be
able receive RXAFSCB RPCs from OpenAFS file servers.

Change-Id: I7b90c7c6c561c74961fb7f7694a9576e1bed44d6
Reviewed-on: https://gerrit.openafs.org/13204
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
src/viced/afsfileprocs.c