Whamcloud - gitweb
LU-2791 ldlm: release reference against failed lock
authorFan Yong <yong.fan@whamcloud.com>
Fri, 8 Feb 2013 19:33:52 +0000 (03:33 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Wed, 13 Mar 2013 06:15:28 +0000 (02:15 -0400)
commitabd8c6dd6fa708e8064f1095350eba23b9437b7c
tree8bf2e49d4c652e7e777e963ba8dc07658e1c83f1
parent94dc17a687b601c4f1a3809a19f835385cca4a51
LU-2791 ldlm: release reference against failed lock

On client-side, when ldlm_cli_enqueue_fini() gets reply from
server, which contains unexpected LVB size, it will mark the
lock as failure, but it does not release one reference, then
the failed lock prevents the lock from being freed. And then
umount client will be blocked.

The ldlm_lvbo_fill() caller should handle failure cases.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I197759a0b964e028627ecb6025820db9517fad7e
Reviewed-on: http://review.whamcloud.com/5634
Reviewed-by: Niu Yawei <yawei.niu@intel.com>
Tested-by: Hudson
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
lustre/include/obd_support.h
lustre/ldlm/ldlm_lockd.c
lustre/ldlm/ldlm_request.c
lustre/ofd/ofd_lvb.c
lustre/quota/qmt_lock.c
lustre/tests/sanity.sh