LU-11158 mdt: grow lvb buffer to hold layout
Write intent RPC could generate a layout bigger than the initial
mdt_max_mdsize, so that the new layout cannot be returned to client,
this patch fix this issue by:
* fix a glitch in lod_use_defined_striping(), where v3 should be
updated along v1.
* change lvbo_fill() return -ERANGE in this case, and stores in its
@buflen parameter the needed buffer size
* in ldlm_handle_enqueue0(), when ldlm_lvbo_fill() detects -ERANGE,
it grows the corresponding RMF_DLM_LVB buffer and retrives the
layout to refill the buffer again.
* define a new MAX_MD_SIZE to hold a reasonal composite layout, and
keeps old MAX_MD_SIZE as MAX_MD_SIZE_OLD.
lustre-review: https://review.whamcloud.com/32847
lustre-commit:
e5abcf83c0575b8a79594c1eb9ea727739d91522
Signed-off-by: Bobi Jam <bobijam@whamcloud.com>
Change-Id: I255b954195b3e64c3edd416c0cb209df0d9fc43a
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/34049
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>