Whamcloud - gitweb
LU-15971 llite: implicit default LMV inherit
With implicit default LMV inherit, the inherited default LMV is
not stored on disk, but maintained on client side.
Benefits:
* change of directory default LMV will be populated to all sub levels
at runtime.
* default LMV will be packed into mkdir request, therefore MDT doesn't
need to read it from disk, as will improve mkdir performance.
Caveats:
* to disable inherited default LMV on subdir, a default LMV need to be
set on this subdir explicitly like this:
"lfs setdirstripe -D -i <subdir_mdt_index> --max-inherit 0"
Changes on client side:
* update inherited default LMV after lookup/open/revalidate.
* pack default LMV in mkdir request.
* add "--raw" option for "lfs getdirstripe -D" to print default LMV
stored in inode, if directory doesn't have default LMV, or its
default LMV is implicitly inherited, nothing will be printed.
Changes on MDT side:
* use the default LMV from client in lod_ah_init() to mkdir.
* don't save inherited default LMV in mkdir.
Add sanityn 114.
Test-Parameters: clientversion=2.14 testlist=sanity mdtcount=4 mdscount=2 env=SANITY_EXCEPT="39l 39r 134b 150b 160a 205a 208 220 230e 230p 300g 807"
Test-Parameters: serverversion=2.14 testlist=sanity mdtcount=4 mdscount=2 env=SANITY_EXCEPT="27Cg 39r 65n 413a 413b 905"
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: Iae109a0ef35a273175c70dd0b394e721a5ce0c45
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/47789
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
28 files changed: