staging/lustre/obdclass: reorganize busy object accounting
Due to some accounting bug, lsb_busy of a hash bucket can become larger than the total number of objects in said bucket. A busy object can be counted more than once. When that happens, a negative value is returned by the shrinker callback. Instead of trying (and failing) to count the busy objects, count the objects than are not busy, i.e. the objects that are present on the lsb_lru list. The number of busy objects is then the difference between the number of objects in the hash and the objects on the lsb_lru list. Signed-off-by:frank zago <fzago@cray.com> Reviewed-on: http://review.whamcloud.com/12468 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5722 Reviewed-by:
Andreas Dilger <andreas.dilger@intel.com> Reviewed-by:
Mike Pershin <mike.pershin@intel.com> Signed-off-by:
Oleg Drokin <oleg.drokin@intel.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading
Please sign in to comment