Whamcloud - gitweb
LU-14312 ldlm: don't change GROUP lock GID on client 68/41268/5
authorMikhail Pershin <mpershin@whamcloud.com>
Tue, 19 Jan 2021 14:21:57 +0000 (17:21 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 23 Jan 2021 08:09:56 +0000 (08:09 +0000)
commitda18ad5628556cb8eb0bcba786743b2d205a39d9
tree6c07acd5867cd5729fe6ab6989c69d5e30fd3158
parent71a4616b38e81d021a65ee5305b692b271ed0955
LU-14312 ldlm: don't change GROUP lock GID on client

GROUP lock GID is part of inodebits policy and is passed
to the server from client in policy li_gid field.
Meanwhile the ldlm_ibits_policy_wire_to_local() is used on
client also when server reply or completion AST is processed,
so client original GID can be overwritten by server value.
This is not problem if both server and client have the same
Lustre version but if server is older then it can have garbage
in li_gid field and client lock policy is updated with it.

Considering that GROUP lock GID is never changed and server should
not do that, the solution is to ignore returned li_gid from server
and never update original GID of GROUP lock on client from server
response.

Test-Parameters: testlist=sanity serverversion=2.12.6 env=ONLY=272b
Test-Parameters: testlist=sanity serverversion=2.13.0 serverdistro=el7.7 env=ONLY=272b

Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: I9a82f4b3513fd93d63b92a9527cb7b89c635e61b
Reviewed-on: https://review.whamcloud.com/41268
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/ldlm/ldlm_inodebits.c
lustre/ldlm/ldlm_lockd.c