]> err.no Git - linux-2.6/commitdiff
[CIFS] named pipe support (part 2)
authorSteve French <sfrench@us.ibm.com>
Sat, 29 Sep 2007 05:21:58 +0000 (05:21 +0000)
committerSteve French <sfrench@us.ibm.com>
Sat, 29 Sep 2007 05:21:58 +0000 (05:21 +0000)
Also fixes typo which could cause build break

Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/CHANGES
fs/cifs/cifsglob.h
fs/cifs/cifspdu.h
fs/cifs/dir.c

index ea359a0038d92c13e8c105ab607deb0dba02724c..c8ad87de4a784b6a3a9fd58b9a3752db0285ed73 100644 (file)
@@ -1,7 +1,12 @@
 Version 1.51
 ------------
 Fix memory leak in statfs when mounted to very old servers (e.g.
-Windows 9x)
+Windows 9x).  Add new feature "POSIX open" which allows servers
+which support the current POSIX Extensions to provide better semantics
+(e.g. delete for open files opened with posix open).  Take into
+account umask on posix mkdir not just older style mkdir.  Add
+ability to mount to IPC$ share (which allows CIFS named pipes to be
+opened, read and written as if they were files).
 
 Version 1.50
 ------------
index f55be8efa26d45dbc62de62b72244ff95fcf2946..3fb046be9c0b64d0fa56e12dcc9418d82e347541 100644 (file)
@@ -342,7 +342,7 @@ struct cifsFileInfo {
        struct list_head llist; /* list of byte range locks we have. */
        unsigned closePend:1;   /* file is marked to close */
        unsigned invalidHandle:1;  /* file closed via session abend */
-       unsigned messageMode:1    /* for pipes: is message or byte mode */
+       unsigned messageMode:1;    /* for pipes: message vs byte mode */
        atomic_t wrtPending;   /* handle in use - defer close */
        struct semaphore fh_sem; /* prevents reopen race after dead ses*/
        char *search_resume_name; /* BB removeme BB */
index e975ce46115da75b77197d05f3c7aff1a8b7446a..d2f0cf23bbba429df22ea99ce91e84dfa59145a8 100644 (file)
@@ -716,6 +716,14 @@ typedef struct smb_com_findclose_req {
 #define REQ_OPENDIRONLY    0x00000008
 #define REQ_EXTENDED_INFO  0x00000010
 
+/* File type */
+#define DISK_TYPE              0x0000
+#define BYTE_PIPE_TYPE         0x0001
+#define MESSAGE_PIPE_TYPE      0x0002
+#define PRINTER_TYPE           0x0003
+#define COMM_DEV_TYPE          0x0004
+#define UNKNOWN_TYPE           0xFFFF
+
 typedef struct smb_com_open_req {      /* also handles create */
        struct smb_hdr hdr;     /* wct = 24 */
        __u8 AndXCommand;
index 99321ab439d26e49930a78f7f007488ce13b993c..793404b109252b7f589a1d5f11da8667e76379c2 100644 (file)
@@ -269,7 +269,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
                        CIFSSMBClose(xid, pTcon, fileHandle);
                } else if (newinode) {
                        pCifsFile =
-                          kzalloc(sizeof (struct cifsFileInfo), GFP_KERNEL);
+                          kzalloc(sizeof(struct cifsFileInfo), GFP_KERNEL);
 
                        if (pCifsFile == NULL)
                                goto cifs_create_out;
@@ -450,8 +450,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
 
        xid = GetXid();
 
-       cFYI(1,
-            (" parent inode = 0x%p name is: %s and dentry = 0x%p",
+       cFYI(1, (" parent inode = 0x%p name is: %s and dentry = 0x%p",
              parent_dir_inode, direntry->d_name.name, direntry));
 
        /* check whether path exists */