Whamcloud - gitweb
LU-9771 flr: Send write intent RPC to mdt 91/29091/14
authorJinshan Xiong <jinshan.xiong@intel.com>
Mon, 13 Nov 2017 23:34:14 +0000 (23:34 +0000)
committerJinshan Xiong <jinshan.xiong@intel.com>
Mon, 20 Nov 2017 19:18:05 +0000 (19:18 +0000)
commit10da8afb278634a40be72f48dae42ce9755c62a0
tree8524cfe7257eebb9ca9f36e4d0a979aad3912e80
parentb601f8997dd5c666d49fc2e2ea15196dfc917a2d
LU-9771 flr: Send write intent RPC to mdt

When a mirrored file is going to be written, the client needs
to send a write intent RPC to the MDT. The MDT will pick a mirror
as primary and mark the others as stale. The new md operation
moo_layout_change() is introduced for this purpose. The MDT also
transfers the latest layout version to the OST objects via
do_attr_set().

Once OSTs receive the setattr RPC for layout version change, it
will set the update layout version into extended attribute
XATTR_NAME_FID.

Test-Parameters: testlist=sanity-flr
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ib0049a78b95895141b0032e8eff526a73a160dcb
Reviewed-on: https://review.whamcloud.com/29091
Tested-by: Jenkins
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
33 files changed:
lustre/include/cl_object.h
lustre/include/lu_object.h
lustre/include/lustre_fid.h
lustre/include/lustre_osc.h
lustre/include/obd.h
lustre/include/obd_support.h
lustre/include/uapi/linux/lustre/lustre_idl.h
lustre/include/uapi/linux/lustre/lustre_user.h
lustre/llite/vvp_object.c
lustre/lod/lod_dev.c
lustre/lod/lod_internal.h
lustre/lod/lod_object.c
lustre/lod/lod_qos.c
lustre/lov/lov_cl_internal.h
lustre/lov/lov_io.c
lustre/lov/lov_object.c
lustre/lov/lov_page.c
lustre/mdd/mdd_object.c
lustre/obdclass/llog_swab.c
lustre/ofd/ofd_dev.c
lustre/ofd/ofd_internal.h
lustre/ofd/ofd_io.c
lustre/ofd/ofd_obd.c
lustre/ofd/ofd_objects.c
lustre/osc/osc_cache.c
lustre/osc/osc_io.c
lustre/osc/osc_request.c
lustre/osp/osp_object.c
lustre/osp/osp_sync.c
lustre/ptlrpc/pack_generic.c
lustre/ptlrpc/wiretest.c
lustre/utils/wirecheck.c
lustre/utils/wiretest.c