[OpenAFS-devel] Removing the rx_stats export from RX

Simon Wilkinson sxw@inf.ed.ac.uk
Tue, 28 Sep 2010 22:23:26 +0100


The rx_stats variable has always been globally available to processes =
which link with RX, and the structure definition is visible in rx.h. It =
is also exported by our shared libraries. However, as part of work on =
improving the performance of the RX layer, I'd like to move the =
statistics to using atomic counters. In order to catch bad usage of =
these, I'd like to change the underlying types to atomic counter types. =
This means that the internal representation will no long be in the form =
of struct rx_statistics, and that we need to hide rx_stats from =
processes which link with RX. My intention is to provide two new =
functions:

struct rx_statistics *rx_GetStatistics();
void rx_FreeStatistics(struct rx_statistics **);

which can be used to access the traditional rx_statistics structure =
(GetStatistics will map a new internal representation into the external =
interface)

As this is an API change, I thought I should present it here first.

Does anyone have any objections to this change?

Cheers,

Simon.