diff options
author | Steve French <sfrench@us.ibm.com> | 2005-07-21 15:20:28 -0700 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-07-21 15:20:28 -0700 |
commit | eda3c029899cbf435d76fea43b7e1404439ccec9 (patch) | |
tree | 334ad2504575c4c22247e62c4add3bb2cb54f502 /fs/cifs/inode.c | |
parent | 076fb01e8238b7e5d68ba0d729c0ff7716d1d8ec (diff) | |
download | lwn-eda3c029899cbf435d76fea43b7e1404439ccec9.tar.gz lwn-eda3c029899cbf435d76fea43b7e1404439ccec9.zip |
[CIFS] Add compat with SFU (part 2)
Creating FIFOs to non-Unix servers (with cifs mounts for which sfu option
was specified) now works.
Signed-off-by: Steve French (sfrench@us.ibm.com)
Thanks to Martin Koeppe for his assistance
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 95354da606d6..628aa1a9fe64 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -320,6 +320,16 @@ int cifs_get_inode_info(struct inode **pinode, on dirs */ inode->i_mode = cifs_sb->mnt_dir_mode; inode->i_mode |= S_IFDIR; + } else if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) && + (cifsInfo->cifsAttrs & ATTR_SYSTEM) && + /* No need to le64 convert size of zero */ + (pfindData->EndOfFile == 0)) { + inode->i_mode = cifs_sb->mnt_file_mode; + inode->i_mode |= S_IFIFO; +/* BB Finish for SFU style symlinks and devies */ +/* } else if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) && + (cifsInfo->cifsAttrs & ATTR_SYSTEM) && ) */ + } else { inode->i_mode |= S_IFREG; /* treat the dos attribute of read-only as read-only |