diff options
author | Steve French <sfrench@us.ibm.com> | 2005-07-14 19:25:12 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-07-14 19:25:12 -0400 |
commit | d7245c2ccf14cde2023273c1ec246732d96e2c27 (patch) | |
tree | 657d7b5c9431b6117659f9638f4121ac237d4c5f /fs/cifs/dir.c | |
parent | 4887c61811c2283162684d7f9075b7676ef6a9bf (diff) |
[CIFS] Add compat with SFU (part 1)
This should help the case of creating fifos and other special files to
servers which do not support the Unix extensions.
Signed-off-by: Steve French (sfrench@us.ibm.com)
Thanks to Martin Koeppe for his suggestions and good analysis
Diffstat (limited to 'fs/cifs/dir.c')
-rw-r--r-- | fs/cifs/dir.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 9360d8fb9ef7..0d5e27fec92b 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, | |||
209 | CIFS_MOUNT_MAP_SPECIAL_CHR); | 209 | CIFS_MOUNT_MAP_SPECIAL_CHR); |
210 | } | 210 | } |
211 | else { | 211 | else { |
212 | /* BB implement via Windows security descriptors */ | 212 | /* BB implement mode setting via Windows security descriptors */ |
213 | /* eg CIFSSMBWinSetPerms(xid,pTcon,full_path,mode,-1,-1,local_nls);*/ | 213 | /* eg CIFSSMBWinSetPerms(xid,pTcon,full_path,mode,-1,-1,local_nls);*/ |
214 | /* could set r/o dos attribute if mode & 0222 == 0 */ | 214 | /* could set r/o dos attribute if mode & 0222 == 0 */ |
215 | } | 215 | } |
@@ -326,6 +326,16 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, dev_t dev | |||
326 | if(rc == 0) | 326 | if(rc == 0) |
327 | d_instantiate(direntry, newinode); | 327 | d_instantiate(direntry, newinode); |
328 | } | 328 | } |
329 | } else { | ||
330 | if((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) && | ||
331 | (special_file(mode))) { | ||
332 | |||
333 | cFYI(1,("sfu compat create special file")); | ||
334 | /* Attributes = cpu_to_le32(ATTR_SYSTEM); | ||
335 | rc = CIFSSMBOpen(xid, pTcon, full_path, disposition, ...); */ | ||
336 | |||
337 | /* add code here to set EAs */ | ||
338 | } | ||
329 | } | 339 | } |
330 | 340 | ||
331 | kfree(full_path); | 341 | kfree(full_path); |