Ashish Sangwan has uploaded this change for review.

View Change

Drop dirent ref before doing mdcache key delete in avl_dirent_set_deleted

Was titting the assert assert(FSAL_IS_SUCCESS(status)); in mdcache_avl_remove
We have taken ref on the dirent which was supposed to be dropped by mdcache_readdir_chunked.
But before that,in between readdir RPCs, an unlink/rename could come in which calls mdcache_dirent_remove.
Currently we are calling mdcache_key_delete in avl_dirent_set_deleted without checking for ref.

Signed-off-by: Ashish Sangwan <ashishsangwan2@gmail.com>
Change-Id: If88de31c501396dc513459821af41c3e7ee47438
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_avl.c
1 file changed, 21 insertions(+), 12 deletions(-)

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

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

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