Ashish Sangwan has uploaded this change for review.

View Change

Free the extra ref taken by the dirent on the mdcache entry even if the
content lock is held in read mode.

Not freeing the extra ref leads to memory growth as we are not able to prune
the mdcache entries with ref count >= 2.
Though we expect that the ref will be released on a invalidate call,
but invalidation of the dirents only happen when we either add/delete any directory entry.
Otherwise the dirent stays in the cache pinning the correspodning mdcache entry.

Signed-off-by: Ashish Sangwan <ashishsangwan2@gmail.com>
Change-Id: I48c6e6f02705a067e3ce0fcaa2177e069ddd53f1
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c
M src/include/abstract_atomic.h
2 files changed, 35 insertions(+), 9 deletions(-)

git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/16/456516/1

To view, visit change 456516. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I48c6e6f02705a067e3ce0fcaa2177e069ddd53f1
Gerrit-Change-Number: 456516
Gerrit-PatchSet: 1
Gerrit-Owner: Ashish Sangwan <ashishsangwan2@gmail.com>
Gerrit-MessageType: newchange