Whamcloud - gitweb
LU-11213 ptlrpc: intent_getattr fetches default LMV 02/34802/17
authorLai Siyao <lai.siyao@whamcloud.com>
Thu, 18 Apr 2019 10:01:47 +0000 (18:01 +0800)
committerOleg Drokin <green@whamcloud.com>
Fri, 7 Jun 2019 04:08:35 +0000 (04:08 +0000)
commit55ca00c3d1cd8635258ccbda27ee3f0f9b2966a8
treec16bd07017610833ce6bd5c9c2c71132f525973d
parent1f7613968c800f99ed074f17cd7ba1086847d2db
LU-11213 ptlrpc: intent_getattr fetches default LMV

Intent_getattr fetches default LMV, and caches it on client,
which will be used in subdir creation.

* Add RMF_DEFAULT_MDT_MD in intent_getattr reply.
* Save default LMV in ll_inode_info->lli_default_lsm_md, and
  replace lli_def_stripe_offset with it.
* take LOOKUP lock on default LMV setting to let client update
  cached default LMV.
* improve mdt_object_striped() to read from bottom device
  to avoid reading stripe FIDs.

Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: Idb369db2c514a9c5108390f70d9284b3a87d26db
Reviewed-on: https://review.whamcloud.com/34802
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
14 files changed:
lustre/include/lustre_lmv.h
lustre/include/lustre_req_layout.h
lustre/include/md_object.h
lustre/include/obd.h
lustre/llite/llite_internal.h
lustre/llite/llite_lib.c
lustre/llite/namei.c
lustre/lmv/lmv_obd.c
lustre/lod/lod_object.c
lustre/mdc/mdc_locks.c
lustre/mdc/mdc_request.c
lustre/mdt/mdt_handler.c
lustre/mdt/mdt_reint.c
lustre/ptlrpc/layout.c