[CIFS] ACL support part 5
Acked-by: Shirish Pargaonkar <shirishp@us.ibm.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
index e8e5635..e808304 100644
--- a/fs/cifs/cifsacl.c
+++ b/fs/cifs/cifsacl.c
@@ -129,6 +129,29 @@
return (1); /* sids compare/match */
}
+void get_mode_from_acl(struct inode * inode, const char * path)
+{
+
+ if (inode == NULL)
+ return;
+
+ /* find an open readable handle
+ if handle found
+ lock handle
+ else open file
+ if no open file can not hurt to check if path is null
+ GetCIFSACL
+ for all ACEs in ACL {
+ if U or G or O
+ inode->i_mode = parse_ace(file_type, UG or O, ace->perms, inode->i_mode)
+ else continue
+ }
+ if handle open close it
+ else unlock handle */
+
+ return;
+}
+
static void parse_ace(struct cifs_ace *pace, char *end_of_acl)
{