OpenAFS Master Repository branch, openafs-stable-1_8_x, updated. openafs-stable-1_8_0-76-g56ce248
Gerrit Code Review
gerrit@openafs.org
Fri, 15 Jun 2018 09:12:05 -0400
The following commit has been merged in the openafs-stable-1_8_x branch:
commit 56ce248751d804efe664c9af3b62f5e15a026afe
Author: Andrew Deason <adeason@sinenomine.net>
Date: Thu Apr 26 12:01:57 2018 -0500
afs: Avoid GetDCache delays on screwy cache
Currently, if our afs_AllocDCache call fails in afs_GetDCache, we
retry once per second for 5 minutes. The reasoning is that we're out
of dcache slots, and so if we wait a little while, maybe something
will become freeable and we can continue.
However, afs_AllocDCache can also fail if we have plenty of free
dslots, but we are unable to successfully call afs_GetUnusedDSlot() on
any of them. This can happen if our disk cache is screwed up, and so
waiting and retrying will not make things better (but we'll spew a ton
of "disk cache read error in CacheItems slot" errors in the log each
time, and do so 300 times).
So instead, only do our sleep/retry loop if we actually appear to be
out of free or discarded dslots. Otherwise, just return an error
immediately, since sleeping and retrying will not make anything
better.
Reviewed-on: https://gerrit.openafs.org/13033
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit bec329c1c81d96b5933527f7cdb3638f24833087)
Change-Id: Iaee53eca133985ad5964b61b3641cd8ad2802014
Reviewed-on: https://gerrit.openafs.org/13190
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Joe Gorse <jhgorse@gmail.com>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/afs/afs_dcache.c | 43 ++++++++++++++++++++++++++-----------------
1 files changed, 26 insertions(+), 17 deletions(-)
--
OpenAFS Master Repository