The PFL layout EA could be enlarged when the corresponding layout
of some IO range is started to be written, which can cause other
thread to get incorrect layout size at "mdt_intent_layout" and cause
"mdt_lvbo_fill" to fail checking the real layout size.
In Lustre, "ldlm_handle_enqueue0" has processed the error "-ERANGE"
and it will retry after expanding the layout buffer size, then it
only needs to decrease the debug level of the log in "mdt_lvbo_fill"
Lustre-change: https://review.whamcloud.com/37684
Lustre-commit:
35d01a0fc7b2933d589f5a6bc4878382cbc15b52
Change-Id: Iad722d1dac187f57ae77606a4d4587525412cd68
Signed-off-by: Hongchao Zhang <hongchao@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/37821
Tested-by: Maloo <maloo@whamcloud.com>
info->mti_mdt->mdt_max_mdsize = rc;
level = D_INFO;
} else {
- level = D_ERROR;
+ /* The PFL layout EA could be enlarged when
+ * the corresponding layout of some IO range
+ * is started to be written, which can cause
+ * other thread to get incorrect layout size
+ * at mdt_intent_layout, see LU-13261. */
+ level = D_LAYOUT;
}
CDEBUG_LIMIT(level, "%s: small buffer size %d for EA "
"%d (max_mdsize %d): rc = %d\n",