summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorNeil Brown <neilb@cse.unsw.edu.au>2004-08-22 23:01:32 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-08-22 23:01:32 -0700
commitd99ad02c5b21eb0678e2197911f2cf26be5ce126 (patch)
treec76495baeab8003c9ab4687f9ee97f9a6f61e5cb /include/linux
parent770d5607d037080907204dede7c920c35823f492 (diff)
[PATCH] nfsd: POSIX<->NFSv4 acl translation for nfsd
Code to translate between Linux's POSIX ACLs and NFSv4 ACLs. Since NFSv4 ACLs are fundamentally richer, we are able to translate any POSIX ACL to NFSv4, but can only map NFSv4 ACLs that follow a certain format; see http://www.citi.umich.edu/u/marius/draft-eriksen-nfsv4-acl-02.txt for details of the mapping. 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>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/nfs4_acl.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/nfs4_acl.h b/include/linux/nfs4_acl.h
index 5bbb4c0769a9..22aff4d01f20 100644
--- a/include/linux/nfs4_acl.h
+++ b/include/linux/nfs4_acl.h
@@ -47,4 +47,13 @@ int nfs4_acl_write_who(int who, char *p);
int nfs4_acl_permission(struct nfs4_acl *acl, uid_t owner, gid_t group,
uid_t who, u32 mask);
+#define NFS4_ACL_TYPE_DEFAULT 0x01
+#define NFS4_ACL_DIR 0x02
+#define NFS4_ACL_OWNER 0x04
+
+struct nfs4_acl *nfs4_acl_posix_to_nfsv4(struct posix_acl *,
+ struct posix_acl *, unsigned int flags);
+int nfs4_acl_nfsv4_to_posix(struct nfs4_acl *, struct posix_acl **,
+ struct posix_acl **, unsigned int flags);
+
#endif /* LINUX_NFS4_ACL_H */