summaryrefslogtreecommitdiffstats
path: root/fs/cifs/inode.c
diff options
context:
space:
mode:
authorSteve French2005-07-22 00:20:28 +0200
committerSteve French2005-07-22 00:20:28 +0200
commiteda3c029899cbf435d76fea43b7e1404439ccec9 (patch)
tree334ad2504575c4c22247e62c4add3bb2cb54f502 /fs/cifs/inode.c
parentMerge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2... (diff)
downloadkernel-qcow2-linux-eda3c029899cbf435d76fea43b7e1404439ccec9.tar.gz
kernel-qcow2-linux-eda3c029899cbf435d76fea43b7e1404439ccec9.tar.xz
kernel-qcow2-linux-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.c10
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