Change in ...nfs-ganesha[next]: MDCACHE - Don't return dead entries from hashtable
Daniel Gryniewicz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/441566 Change subject: MDCACHE - Don't return dead entries from hashtable ...................................................................... MDCACHE - Don't return dead entries from hashtable When the refcount of an entry goes to zero, it's removed from the LRU under the lane lock, and then the lane lock is dropped, and the entry is cleaned up. This includes removing it from the hash table. However, there is a window during which mdcache_find_keyed_reason() or mdcache_new_entry() can find it from the hash table, and increment it's refcount to 1. This causes it's refcount to go to zero again, recursing into cih_remove_checked(), causing an assert. Fix the hash table to not return an entry if it's refcount is zero. Change-Id: I9a922a1fb54561f04d71cc83c0bcd3289ec854ae Signed-off-by: Daniel Gryniewicz <dang@redhat.com> --- M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_hash.h 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/66/441566/1 -- To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/441566 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: I9a922a1fb54561f04d71cc83c0bcd3289ec854ae Gerrit-Change-Number: 441566 Gerrit-PatchSet: 1 Gerrit-Owner: Daniel Gryniewicz <dang@redhat.com> Gerrit-MessageType: newchange
participants (1)
-
Daniel Gryniewicz (GerritHub)