Whamcloud - gitweb
LU-2317 mgs: both callbacks are to be fixed
authorVitaly Fertman <vitaly_fertman@xyratex.com>
Mon, 17 Dec 2012 19:48:44 +0000 (23:48 +0400)
committerOleg Drokin <green@whamcloud.com>
Tue, 8 Jan 2013 05:56:46 +0000 (00:56 -0500)
commitdf7c3d41c67674df4fe137084ed8afedd3be89aa
tree324c44de92a46b1df4d5dd82f7e88d21cad8fe71
parentd25e7654f798060f6b671c3b65949a70b8c67f58
LU-2317 mgs: both callbacks are to be fixed

The commit ORNL-27 introduced a new lock enqueue which drops a
reference on it in the blocking callbacks. however, it turned out
to be racy as if a lock is taken quickly, callback is called twice,
from enqueue completion and from conflicting lock cancel, and lock
reference is decremented twice.  LU-1259 tried to fix it, but only
for 1 callback.

Fix it for mgs_completion_ast_config as well.

Signed-off-by: Vitaly Fertman <vitaly_fertman@xyratex.com>
Xyratex-bug-id: MRP-792
Change-Id: I49207cfae230318da3b6dcbe3a63c14d8d94a244
Reviewed-on: http://review.whamcloud.com/4744
Tested-by: Hudson
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/mgs/mgs_handler.c