summaryrefslogtreecommitdiff
path: root/fs/cifs/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs/dir.c')
-rw-r--r--fs/cifs/dir.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index 9360d8fb9ef..0d5e27fec92 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -209,7 +209,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
CIFS_MOUNT_MAP_SPECIAL_CHR);
}
else {
- /* BB implement via Windows security descriptors */
+ /* BB implement mode setting via Windows security descriptors */
/* eg CIFSSMBWinSetPerms(xid,pTcon,full_path,mode,-1,-1,local_nls);*/
/* could set r/o dos attribute if mode & 0222 == 0 */
}
@@ -326,6 +326,16 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, dev_t dev
if(rc == 0)
d_instantiate(direntry, newinode);
}
+ } else {
+ if((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) &&
+ (special_file(mode))) {
+
+ cFYI(1,("sfu compat create special file"));
+ /* Attributes = cpu_to_le32(ATTR_SYSTEM);
+ rc = CIFSSMBOpen(xid, pTcon, full_path, disposition, ...); */
+
+ /* add code here to set EAs */
+ }
}
kfree(full_path);