From: NeilBrown <neilb@cse.unsw.edu.au>
Date: Fri, 8 Jul 2005 00:59:22 +0000 (-0700)
Subject: [PATCH] nfsd4: always update stateid on open
X-Git-Tag: firefly_0821_release~42892
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=444c2c07c2d7a6936d1381d381ab80e3f5541427;p=firefly-linux-kernel-4.4.55.git

[PATCH] nfsd4: always update stateid on open

An OPEN from the same client/open stateowner requires a stateid update because
of the share/deny access update.

Signed-off-by: Andy Adamson <andros@citi.umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---

diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 386daac508f5..b96714ae3dd7 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -1820,6 +1820,7 @@ nfsd4_process_open2(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nf
 		status = nfs4_upgrade_open(rqstp, current_fh, stp, open);
 		if (status)
 			goto out;
+		update_stateid(&stp->st_stateid);
 	} else {
 		/* Stateid was not found, this is a new OPEN */
 		int flags = 0;