NFSv4: Ensure nfs4_lock_expired() caches delegated locks
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
parent
9b07357490
commit
42a2d13eee
|
@ -3454,10 +3454,10 @@ static int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request
|
|||
struct nfs4_exception exception = { };
|
||||
int err;
|
||||
|
||||
/* Cache the lock if possible... */
|
||||
if (test_bit(NFS_DELEGATED_STATE, &state->flags))
|
||||
return 0;
|
||||
do {
|
||||
/* Cache the lock if possible... */
|
||||
if (test_bit(NFS_DELEGATED_STATE, &state->flags) != 0)
|
||||
return 0;
|
||||
err = _nfs4_do_setlk(state, F_SETLK, request, 1);
|
||||
if (err != -NFS4ERR_DELAY)
|
||||
break;
|
||||
|
@ -3476,6 +3476,8 @@ static int nfs4_lock_expired(struct nfs4_state *state, struct file_lock *request
|
|||
if (err != 0)
|
||||
return err;
|
||||
do {
|
||||
if (test_bit(NFS_DELEGATED_STATE, &state->flags) != 0)
|
||||
return 0;
|
||||
err = _nfs4_do_setlk(state, F_SETLK, request, 0);
|
||||
if (err != -NFS4ERR_DELAY)
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue