Change in ...nfs-ganesha[next]: MDCACHE - Fix race between lru functions for the chunk and the parent...
Ashish Sangwan has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/451673 Change subject: MDCACHE - Fix race between lru functions for the chunk and the parent of the chunk getting freed and reused. ...................................................................... MDCACHE - Fix race between lru functions for the chunk and the parent of the chunk getting freed and reused. The LRU functions which acts on the chunk, chunk_lru_run_lane and lru_reap_chunk_impl both of them takes ref on the chunk and dropa the qlane lock before calling mdcache_lru_unref_chunk to drop the ref taken earlier. The extra ref prevents the chunk from getting freed but it can't stop the chunk's parent from getting freed and reused. We are hitting a hang when trying to acquire content lock on the freed parent. These LRU functions doesn't actually need ref and holding the qlane lock is enough to prevent the chunk from being freed. Signed-off-by: Ashish Sangwan <ashishsangwan2@gmail.com> Change-Id: I3cb5f09fa4894c121545a47182116e77d94f0643 --- M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_avl.c M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_lru.c M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_lru.h 4 files changed, 25 insertions(+), 56 deletions(-) git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/73/451673/1 -- To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/451673 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: I3cb5f09fa4894c121545a47182116e77d94f0643 Gerrit-Change-Number: 451673 Gerrit-PatchSet: 1 Gerrit-Owner: Ashish Sangwan <ashishsangwan2@gmail.com> Gerrit-MessageType: newchange
participants (1)
-
Ashish Sangwan (GerritHub)