viced: Yell when we GetSomeSpace_r

A GetSomeSpace_r call indicates we don't have enough callbacks
configured. For many people, this can happen without the administrator
realizing anything is wrong, since we never give any indication that
something is amiss, unless the administrator checks the xstat
statistics.

Since this can indicate a serious performance problem, yell in the log
when this happens. Only do it once, so we don't spam the log.

Change-Id: I5c881a3c127c20b4f086d59bf3768864307efe92
Reviewed-on: http://gerrit.openafs.org/6334
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Derrick Brashear <shadow@dementix.org>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
This commit is contained in:
Andrew Deason 2011-12-14 14:16:16 -06:00 committed by Derrick Brashear
parent b8e7d61965
commit da3f8d86dd

View File

@ -1499,6 +1499,19 @@ GetSomeSpace_r(struct host *hostp, int locked)
struct lih_params params; struct lih_params params;
int i = 0; int i = 0;
if (cbstuff.GotSomeSpaces == 0) {
/* only log this once; if GSS is getting called constantly, that's not
* good but don't make things worse by spamming the log. */
ViceLog(0, ("We have run out of callback space; forcing callback revocation. "
"This suggests the fileserver is configured with insufficient "
"callbacks; you probably want to increase the -cb fileserver "
"parameter (current setting: %u). The fileserver will continue "
"to operate, but this may indicate a severe performance problem\n",
cbstuff.nblks));
ViceLog(0, ("This message is logged at most once; for more information "
"see the OpenAFS documentation and fileserver xstat collection 3\n"));
}
cbstuff.GotSomeSpaces++; cbstuff.GotSomeSpaces++;
ViceLog(5, ViceLog(5,
("GSS: First looking for timed out call backs via CleanupCallBacks\n")); ("GSS: First looking for timed out call backs via CleanupCallBacks\n"));