Commit 666d0944 authored by Neil Brown's avatar Neil Brown Committed by Linus Torvalds

[PATCH] nfsd4: fix nfs4_check_delegmode()

Inline nfs4_check_delegmode, replace & by &&, remove incorrect check. (Note
that it's fine to read using the stateid for a write delegation.)

While we're at it, the status return logic seems like overkill for one simple
check.
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: default avatarNeil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 9a2ac339
......@@ -1969,18 +1969,13 @@ int nfs4_check_openmode(struct nfs4_stateid *stp, int flags)
return status;
}
static int
static inline int
nfs4_check_delegmode(struct nfs4_delegation *dp, int flags)
{
int status = nfserr_openmode;
if ((flags & WR_STATE) & (dp->dl_type == NFS4_OPEN_DELEGATE_READ))
goto out;
if ((flags & RD_STATE) & (dp->dl_type == NFS4_OPEN_DELEGATE_WRITE))
goto out;
status = nfs_ok;
out:
return status;
if ((flags & WR_STATE) && (dp->dl_type == NFS4_OPEN_DELEGATE_READ))
return nfserr_openmode;
else
return nfs_ok;
}
static inline int
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment