For old version of MDTs which don't support ATTRFID, open will pack
dentry name in the request, but this name may change if there is
concurrent rename, as a result an assertion will be triggerred.
It's inconvenient to copy name in advance or take dentry lock in the
call chain, so It's better to remove this assert, which is safe.
Lustre-change: https://review.whamcloud.com/29161
Lustre-commit:
dd9d7cc845dfd2853498091573b7e13a0a35c161
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Change-Id: I58d8b8fbbd8057aa2e8618e8923d0432f31dac96
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Minh Diep <minh.diep@intel.com>
Reviewed-on: https://review.whamcloud.com/30355
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
cpy_len = strlcpy(buf, name, buf_size);
- LASSERT(cpy_len == name_len && lu_name_is_valid_2(buf, cpy_len));
+ LASSERT(lu_name_is_valid_2(buf, cpy_len));
+ if (cpy_len != name_len)
+ CDEBUG(D_DENTRY, "%s: %s len %zd != %zd, concurrent rename?\n",
+ req->rq_export->exp_obd->obd_name, buf, name_len,
+ cpy_len);
}
void mdc_file_secctx_pack(struct ptlrpc_request *req, const char *secctx_name,