The following commit has been merged in the openafs-stable-1_8_x branch:
commit 56ce248751d804efe664c9af3b62f5e15a026afe
Author: Andrew Deason <[email protected]>
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 <[email protected]>
    Reviewed-by: Michael Meffie <[email protected]>
    Reviewed-by: Marcio Brito Barbosa <[email protected]>
    Reviewed-by: Benjamin Kaduk <[email protected]>
    Tested-by: BuildBot <[email protected]>
    (cherry picked from commit bec329c1c81d96b5933527f7cdb3638f24833087)
    
    Change-Id: Iaee53eca133985ad5964b61b3641cd8ad2802014
    Reviewed-on: https://gerrit.openafs.org/13190
    Tested-by: BuildBot <[email protected]>
    Reviewed-by: Andrew Deason <[email protected]>
    Reviewed-by: Joe Gorse <[email protected]>
    Reviewed-by: Marcio Brito Barbosa <[email protected]>
    Reviewed-by: Benjamin Kaduk <[email protected]>

 src/afs/afs_dcache.c |   43 ++++++++++++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 17 deletions(-)

-- 
OpenAFS Master Repository
_______________________________________________
OpenAFS-cvs mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-cvs

Reply via email to