aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2008-01-14 13:12:19 -0500
committerJ. Bruce Fields <bfields@citi.umich.edu>2008-02-01 16:42:07 -0500
commit8838dc43d6544570e8969a74ddc4a0d21abffde6 (patch)
treef3082dd80293fe5279d8ff993d2e0c17a0a2f2b4 /fs/nfsd
parentb39c18fce003bb2d5a51a4734d8fdd2c81fa1a78 (diff)
nfsd4: clean up access_valid, deny_valid checks.
Document these checks a little better and inline, as suggested by Neil Brown (note both functions have two callers). Remove an obviously bogus check while we're there (checking whether unsigned value is negative). Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Cc: Neil Brown <neilb@suse.de>
Diffstat (limited to 'fs/nfsd')
-rw-r--r--fs/nfsd/nfs4state.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index c4b10a1e6c30..f6744bc03dae 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -1157,14 +1157,19 @@ find_file(struct inode *ino)
1157 return NULL; 1157 return NULL;
1158} 1158}
1159 1159
1160static int access_valid(u32 x) 1160static inline int access_valid(u32 x)
1161{ 1161{
1162 return (x > 0 && x < 4); 1162 if (x < NFS4_SHARE_ACCESS_READ)
1163 return 0;
1164 if (x > NFS4_SHARE_ACCESS_BOTH)
1165 return 0;
1166 return 1;
1163} 1167}
1164 1168
1165static int deny_valid(u32 x) 1169static inline int deny_valid(u32 x)
1166{ 1170{
1167 return (x >= 0 && x < 5); 1171 /* Note: unlike access bits, deny bits may be zero. */
1172 return x <= NFS4_SHARE_DENY_BOTH;
1168} 1173}
1169 1174
1170static void 1175static void