Fix an edge case where objects can be returned to a per-cpu cache while
the objcache is blocked on the depot token. the depot is found to be
exhausted and objcache blocks anyway. Rechecking the per-cpu cache after
obtaining the token deals with the problem.
Normally this isn't a problem but on low-memory machines the objcache
is tight enough on memory that the returned objects could represent all
returnable objects at that time and a tsleep without checking for their
presence would block the calling thread forever.
Reported-by: Stefan Krueger <skrueger@meinberlikomm.de>
Also-thanks-to: Peter Holms filesystem and load testing suite (stress2).