The mdc_enqueue_fini() can be called with negative
errcode parameter if request processing was failed.
In that case the mdc_fill_lvb() shouldn't be called.
Issue may occur with DoM files, old server (<2.14) and
new client. The problem is in new client code.
Lustre-change: https://review.whamcloud.com/51761
Lustre-commit: TBD (from
c422797b3949e0b3b7fac7164f03f01dfa6aca0b)
Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I884398beada4286bc07875247e15b41120f73a3e
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/51769
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
ENTRY;
/* needed only for glimpse from an old server (< 2.14) */
- if (glimpse && !exp_connect_dom_lvb(exp))
+ if (glimpse && !exp_connect_dom_lvb(exp) && errcode >= 0)
rc = mdc_fill_lvb(&req->rq_pill, &ols->ols_lvb);
if (glimpse && errcode == ELDLM_LOCK_ABORTED) {