From: Joseph Qi Date: Fri, 19 Dec 2014 00:17:34 +0000 (-0800) Subject: ocfs2/dlm: fix race between dispatched_work and dlm_lockres_grab_inflight_worker X-Git-Tag: omap-for-v3.19/fixes-rc1~38^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1e5895816030eaadb952c89eb9f4054e5c0082c3;p=pandora-kernel.git ocfs2/dlm: fix race between dispatched_work and dlm_lockres_grab_inflight_worker Commit ac4fef4d23ed ("ocfs2/dlm: do not purge lockres that is queued for assert master") may have the following possible race case: dlm_dispatch_assert_master dlm_wq ======================================================================== queue_work(dlm->quedlm_worker, &dlm->dispatched_work); dispatch work, dlm_lockres_drop_inflight_worker *BUG_ON(res->inflight_assert_workers == 0)* dlm_lockres_grab_inflight_worker inflight_assert_workers++ So ensure inflight_assert_workers to be increased first. Signed-off-by: Joseph Qi Signed-off-by: Xue jiufei Cc: Joel Becker Reviewed-by: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- Reading git-diff-tree failed