Whamcloud - gitweb
LU-1876 hsm: bugfix about layout lock on the client
authorJinshan Xiong <jinshan.xiong@intel.com>
Wed, 7 Nov 2012 00:56:16 +0000 (16:56 -0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 29 Nov 2012 05:00:29 +0000 (00:00 -0500)
commitecaba99677b28536f9c376b2b835b554a7792668
tree8e36917b82ca993adf54a03c82d0fdf8876dedb6
parent99a7b72117efe0fcf32013c24e550c6fa5765868
LU-1876 hsm: bugfix about layout lock on the client

The following issues are fixed in this patch:
* deadlock at add_lsmref
* lov_delete_raid0 should wait for refcount of lsm to be zero
* handle empty layout at lov layer since layout can be changed
  anytime so original assumption of skipping lov layer when lsm is
  NULL is no longer correct
* other fixes

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ie7cd744b188f4d28fdbebda8870259b931328d00
Reviewed-on: http://review.whamcloud.com/4416
Tested-by: Hudson
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Reviewed-by: Niu Yawei <niu@whamcloud.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
17 files changed:
lustre/include/cl_object.h
lustre/lclient/glimpse.c
lustre/lclient/lcommon_cl.c
lustre/ldlm/ldlm_lock.c
lustre/llite/dcache.c
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/statahead.c
lustre/llite/vvp_io.c
lustre/llite/vvp_object.c
lustre/lov/lov_cl_internal.h
lustre/lov/lov_io.c
lustre/lov/lov_lock.c
lustre/lov/lov_object.c
lustre/obdclass/cl_io.c
lustre/obdclass/cl_lock.c