Scanning of lr_granted can be done until
covering granted RD lock is reached.
Change-Id: I907cff002d9765c5f8496d377eddd5e62795d89c
HPE-bug-id: LUS-10623
Signed-off-by: Andriy Skulysh <c17819@cray.com>
Reviewed-by: Alexander Boyko <c17825@cray.com>
Reviewed-by: Andrew Perepechko <c17827@cray.com>
Reviewed-by: Vitaly Fertman <c17818@cray.com>
Reviewed-on: https://review.whamcloud.com/45957
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
Reviewed-by: Alexander Boyko <alexander.boyko@hpe.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
continue;
}
+ if (req->l_req_mode == LCK_PR &&
+ lock->l_granted_mode == LCK_PR &&
+ lock->l_policy_data.l_flock.start <=
+ req->l_policy_data.l_flock.start &&
+ lock->l_policy_data.l_flock.end >=
+ req->l_policy_data.l_flock.end) {
+ /* there can't be granted WR lock */
+ break;
+ }
/* locks are compatible, overlap doesn't matter */
if (lockmode_compat(lock->l_granted_mode, mode))
continue;