deepakarumugam.s(a)nutanix.com has uploaded this change for review. (
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/556455?usp=email )
Change subject: mdcache bloating due to unreleased refcount during readdir
......................................................................
mdcache bloating due to unreleased refcount during readdir
We should release the refcount of a entry if there is a collision
related error inside mdc_readdir_chunk_object. If we don't do this
the refcount of the entry stays along until the corresponding
chunk LRU entry is reaped.
We saw instances where this entry becomes the last entry of
a lane preventing any entry in the lane from being reaped.
Furthermore, when this collision happens we don't put the dirent
inside state.cur_chunk - the dirent is stuck left with
whatever its old parent chunk was. This makes it impossible for
any of the caller functions to know about this dirent and free up
its entry refcount since we returned a DIR_TERMINATE_ERROR.
For this reason its probably best to release the refcount in this
function itself
Change-Id: Ia728bbf5018174273cd1a5128a67d1aca73614c9
Signed-off-by: Deepak Arumugam Sankara Subramanian <deepakarumugam.s(a)nutanix.com>
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c
1 file changed, 18 insertions(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/55/556455/1
--
To view, visit
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/556455?usp=email
To unsubscribe, or for help writing mail filters, visit
https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: Ia728bbf5018174273cd1a5128a67d1aca73614c9
Gerrit-Change-Number: 556455
Gerrit-PatchSet: 1
Gerrit-Owner: deepakarumugam.s(a)nutanix.com
Gerrit-MessageType: newchange