linux/fs/ocfs2/dlm
Srinivas Eeda 7beaf24378 ocfs2 fix o2dlm dlm run purgelist (rev 3)
This patch fixes two problems in dlm_run_purgelist

1. If a lockres is found to be in use, dlm_run_purgelist keeps trying to purge
the same lockres instead of trying the next lockres.

2. When a lockres is found unused, dlm_run_purgelist releases lockres spinlock
before setting DLM_LOCK_RES_DROPPING_REF and calls dlm_purge_lockres.
spinlock is reacquired but in this window lockres can get reused. This leads
to BUG.

This patch modifies dlm_run_purgelist to skip lockres if it's in use and purge
 next lockres. It also sets DLM_LOCK_RES_DROPPING_REF before releasing the
lockres spinlock protecting it from getting reused.

Signed-off-by: Srinivas Eeda <srinivas.eeda@oracle.com>
Acked-by: Sunil Mushran <sunil.mushran@oracle.com>
Cc: stable@kernel.org
Signed-off-by: Joel Becker <joel.becker@oracle.com>
2010-08-07 10:44:40 -07:00
..
dlmapi.h ocfs2/trivial: Remove trailing whitespaces 2010-01-25 19:20:51 -08:00
dlmast.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmcommon.h ocfs2:dlm: avoid dlm->ast_lock lockres->spinlock dependency break 2010-05-18 16:41:34 -07:00
dlmconvert.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmconvert.h
dlmdebug.c ocfs2/dlm: Fix printing of lockname 2010-02-08 13:01:31 -08:00
dlmdebug.h [PATCH 2/3] ocfs2/dlm: Silence build warnings 2008-05-30 15:15:10 -07:00
dlmdomain.c ocfs2: tighten up strlen() checking 2010-07-12 13:57:53 -07:00
dlmdomain.h
dlmlock.c fs/ocfs2/dlm: Drop memory allocation cast 2010-05-18 12:31:10 -07:00
dlmmaster.c ocfs2/dlm: fix a dead lock 2010-08-07 10:44:20 -07:00
dlmrecovery.c ocfs2/dlm: don't access beyond bitmap size 2010-07-12 13:56:14 -07:00
dlmthread.c ocfs2 fix o2dlm dlm run purgelist (rev 3) 2010-08-07 10:44:40 -07:00
dlmunlock.c Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 2010-05-21 07:20:17 -07:00
dlmver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
dlmver.h
Makefile ocfs2_dlmfs: Move to its own directory 2010-02-26 15:41:14 -08:00