Whamcloud - gitweb
LU-1876 hsm: layout lock implementation on server side
authorJinshan Xiong <jinshan.xiong@intel.com>
Thu, 6 Dec 2012 17:34:15 +0000 (09:34 -0800)
committerOleg Drokin <green@whamcloud.com>
Tue, 15 Jan 2013 03:40:52 +0000 (22:40 -0500)
commit5517eab06eb99e4ecb66be251a10e70c37547610
treefa35ffa4f4bf26521fa54139205e4e32d87d6b57
parent68b4780e303976aad3bb4cd02ad483214e1ed33c
LU-1876 hsm: layout lock implementation on server side

* enabled OBD_CONNECT_LAYOUTLOCK both on client and mdt
* mdt_object_lock_try() is implemented to try layout lock
* dlm flag LDLM_FL_BLOCK_NOWAIT is added to implement nonblock mode
  dlm lock enqueue
* try layout lock for IT_GETATTR and IT_OPEN
* make layout lock work
* add layout intent support.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: I84a6dfca83ded2344240fa5430c9922b7cfc7bcf
Reviewed-on: http://review.whamcloud.com/4417
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: jacques-Charles Lafoucriere <jacques-charles.lafoucriere@cea.fr>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
39 files changed:
lustre/include/cl_object.h
lustre/include/lustre/lustre_idl.h
lustre/include/lustre_dlm.h
lustre/include/lustre_export.h
lustre/include/lustre_fid.h
lustre/include/lustre_req_layout.h
lustre/include/obd_support.h
lustre/lclient/glimpse.c
lustre/lclient/lcommon_cl.c
lustre/ldlm/ldlm_inodebits.c
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/ldlm/ldlm_resource.c
lustre/liblustre/llite_lib.h
lustre/llite/dcache.c
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/llite_nfs.c
lustre/llite/namei.c
lustre/llite/statahead.c
lustre/llite/vvp_io.c
lustre/llite/vvp_object.c
lustre/lov/lov_lock.c
lustre/lov/lov_object.c
lustre/mdc/mdc_locks.c
lustre/mdt/mdt_handler.c
lustre/mdt/mdt_internal.h
lustre/mdt/mdt_lvb.c
lustre/mdt/mdt_open.c
lustre/ptlrpc/layout.c
lustre/ptlrpc/pack_generic.c
lustre/ptlrpc/wiretest.c
lustre/tests/multiop.c
lustre/tests/sanity.sh
lustre/tests/sanityn.sh
lustre/utils/req-layout.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c