[OpenAFS] GiveUpAllCallBacks callers
Mon, 13 Dec 2010 14:52:19 -0500
On March 4, 2003, a delta which is git commit
This function had a defect in that the global host lock was not held
by the server while the host list was manipulated, and in some cases
the host list was
corrupted. The function was not present in any 1.2 releases, however
was included in 1.4.0 and was not fixed until 1.4.6, with, in that
STABLE146-giveupallcallbacks-locking-20071121) which landed on
December 13, 2007.
The change at http://gerrit.openafs.org/3404 would greatly increase
client shutdown performance as well as taking some pressure off server
utilization by allowing clients to relinquish callbacks to all servers
in a single "multi-Rx" call. The drawback is that as there is no way
with current RPCs
to know what server version is running, sites running 1.4.0 through
1.4.5 would risk host list corruption and potentially a crash.
An alternate version of 3404, patchset one, includes an implementation
which cheats, namely, within a few months of GiveUpAllCallBacks being
the GetStatistics64 RPC was introduced. Its existance would be used as
a sentinel that GiveUpAllCallBacks was safe to issue. However, this
objected to as it ties unrelated RPCs together.
Before this code appears in any release, comment would be welcome,
appropriate and desired.