aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/state.h
diff options
context:
space:
mode:
authorJeff Layton <jlayton@primarydata.com>2014-07-10 14:07:30 -0400
committerJ. Bruce Fields <bfields@redhat.com>2014-07-11 11:06:04 -0400
commitc11c591fe6682e0d642bf9242e53554a50e5fbc0 (patch)
treee3c6815571449201c7f780e50bb5d82854ac9c2c /fs/nfsd/state.h
parent6d338b51eb6e37b4d6f1459c892f5ec7df0dad88 (diff)
nfsd: shrink st_access_bmap and st_deny_bmap
We never use anything above bit #3, so an unsigned long for each is wasteful. Shrink them to a char each, and add some WARN_ON_ONCE calls if we try to set or clear bits that would go outside those sizes. Note too that because atomic bitops work on unsigned longs, we have to abandon their use here. That shouldn't be a problem though since we don't really care about the atomicity in this code anyway. Using them was just a convenient way to flip bits. Signed-off-by: Jeff Layton <jlayton@primarydata.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/state.h')
-rw-r--r--fs/nfsd/state.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/nfsd/state.h b/fs/nfsd/state.h
index 9f1159d5de56..72aee4b4f1ae 100644
--- a/fs/nfsd/state.h
+++ b/fs/nfsd/state.h
@@ -406,8 +406,8 @@ struct nfs4_ol_stateid {
406 struct list_head st_locks; 406 struct list_head st_locks;
407 struct nfs4_stateowner * st_stateowner; 407 struct nfs4_stateowner * st_stateowner;
408 struct nfs4_file * st_file; 408 struct nfs4_file * st_file;
409 unsigned long st_access_bmap; 409 unsigned char st_access_bmap;
410 unsigned long st_deny_bmap; 410 unsigned char st_deny_bmap;
411 struct nfs4_ol_stateid * st_openstp; 411 struct nfs4_ol_stateid * st_openstp;
412}; 412};
413 413