97a35d1e5f
In dlm_grant_after_purge() we were holding a hash table read_lock while calling put_rsb() which potentially removes the rsb from the hash table, taking the same lock in write. Fix this by flagging rsb's ahead of time that have been purged. Then iteratively read_lock the hash table, find a flagged rsb, unlock, process rsb. Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com> |
||
---|---|---|
.. | ||
ast.c | ||
ast.h | ||
config.c | ||
config.h | ||
debug_fs.c | ||
device.c | ||
dir.c | ||
dir.h | ||
dlm_internal.h | ||
Kconfig | ||
lock.c | ||
lock.h | ||
lockspace.c | ||
lockspace.h | ||
lowcomms.c | ||
lowcomms.h | ||
lvb_table.h | ||
main.c | ||
Makefile | ||
member.c | ||
member.h | ||
memory.c | ||
memory.h | ||
midcomms.c | ||
midcomms.h | ||
rcom.c | ||
rcom.h | ||
recover.c | ||
recover.h | ||
recoverd.c | ||
recoverd.h | ||
requestqueue.c | ||
requestqueue.h | ||
util.c | ||
util.h |