diff options
-rw-r--r-- | fs/nfsd/nfs4state.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 945328d7c3a2a..75a253ebe9303 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -1535,14 +1535,12 @@ nfs4_check_open(struct nfs4_file *fp, struct nfs4_stateowner *sop, struct nfsd4_ int status = nfserr_share_denied; list_for_each_entry(local, &fp->fi_perfile, st_perfile) { - /* have we seen this open owner */ - if (local->st_stateowner == sop) { - *stpp = local; - continue; - } /* ignore lock owners */ if (local->st_stateowner->so_is_open_owner == 0) continue; + /* remember if we have seen this open owner */ + if (local->st_stateowner == sop) + *stpp = local; /* check for conflicting share reservations */ if (!test_share(local, open)) goto out; |