[CIFS] named pipe support (part 2)
Also fixes typo which could cause build break Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
7f8ed420f8
commit
92ad9b93cd
|
@ -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
|
||||
------------
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue