Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 721ccfb7 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFSv4: Warn once about servers that incorrectly apply open mode to setattr



Debugging aid to help identify servers that incorrectly apply open mode
checks to setattr requests that are not changing the file size.

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent ee3ae84e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -2184,6 +2184,13 @@ static int nfs4_do_setattr(struct inode *inode, struct rpc_cred *cred,
		err = _nfs4_do_setattr(inode, cred, fattr, sattr, state);
		switch (err) {
		case -NFS4ERR_OPENMODE:
			if (!(sattr->ia_valid & ATTR_SIZE)) {
				pr_warn_once("NFSv4: server %s is incorrectly "
						"applying open mode checks to "
						"a SETATTR that is not "
						"changing file size.\n",
						server->nfs_client->cl_hostname);
			}
			if (state && !(state->state & FMODE_WRITE)) {
				err = -EBADF;
				if (sattr->ia_valid & ATTR_OPEN)