From: Srinivas Eeda Date: Mon, 19 Jul 2010 23:04:12 +0000 (-0700) Subject: ocfs2 fix o2dlm dlm run purgelist (rev 3) X-Git-Tag: v2.6.36-rc1~40^2~5 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7beaf243787f85a2ef9213ccf13ab4a243283fde;p=pandora-kernel.git 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 Acked-by: Sunil Mushran Cc: stable@kernel.org Signed-off-by: Joel Becker --- Reading git-diff-tree failed