Whamcloud - gitweb
LU-1626 lov: fix lov request set finish check race
authorBobi Jam <bobijam@whamcloud.com>
Mon, 16 Jul 2012 11:27:09 +0000 (19:27 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 2 Aug 2012 22:52:30 +0000 (18:52 -0400)
commitf0dda9e48de107e87a2389fb3d9095c2efa0aa79
tree0e70b85790c788d791b6c56fa8549225ca98765f
parenta65c1ee4fa159254798771f0359798c299d1e876
LU-1626 lov: fix lov request set finish check race

When several lov_request callbacks are called, if one of them is
the last lov_request in the set, lov_finished_set() checks for
all of them will return true, while the following action is supposed
be called only once for the set, in this case the assumption is broke
and the lov request set's refcount is wrong.

This patch fixed another glitch, in qos_remedy_create(), when we use
OST pool, the ost_idx value does not initialied correctly.

Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: Id3ff1777b2146630b2d693e046038fcc6f465309
Reviewed-on: http://review.whamcloud.com/3402
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Fan Yong <yong.fan@whamcloud.com>
Reviewed-by: wangdi <di.wang@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/lov/lov_internal.h
lustre/lov/lov_obd.c
lustre/lov/lov_qos.c
lustre/lov/lov_request.c