Currently we panic if we detect an undercount on an afs_conn
structure, as this is a serious bug and can cause corruption and other
issues. But an overcount is never noticed, until the refCount
overflows and looks negative. Log a warning if the refCount gets
really high, so an administrator has a chance at noticing and
notifying a developer before the machine actually panics.
[kaduk@mit.edu use the %p format specifier, mandated by C89]
Change-Id: Ifc291fc10959e4e1c60115813d82a09e5a65ef75
Reviewed-on: http://gerrit.openafs.org/11465
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Reviewed-by: Daria Brashear <shadow@your-file-system.com>
return NULL;
}
+ if (tc->refCount > 10000) {
+ static int warned;
+ if (!warned) {
+ warned = 1;
+ afs_warn("afs: Very high afs_conn refCount detected (conn %p, count %d)\n",
+ tc, (int)tc->refCount);
+ afs_warn("afs: Trying to continue, but this may indicate an issue\n");
+ afs_warn("afs: that may eventually crash the machine. Please file\n");
+ afs_warn("afs: a bug report.\n");
+ }
+ }
+
if (tu->states & UTokensBad) {
/* we may still have an authenticated RPC connection here,
* we'll have to create a new, unauthenticated, connection.