deepakarumugam.s@nutanix.com has uploaded this change for review.
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@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 change 556455. To unsubscribe, or for help writing mail filters, visit settings.