Commit 4ca9c190 authored by Steve French's avatar Steve French

[CIFS] Fix oops in experimental notify code (when CONFIG_CIFS_EXPERIMENTAL

was turned on).
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 34210f33
...@@ -8,7 +8,8 @@ allowing an SMBs TCP length to be up to a few bytes longer than it should be. ...@@ -8,7 +8,8 @@ allowing an SMBs TCP length to be up to a few bytes longer than it should be.
wsize and rsize can now be larger than negotiated buffer size if server wsize and rsize can now be larger than negotiated buffer size if server
supports large readx/writex, even when directio mount flag not specified. supports large readx/writex, even when directio mount flag not specified.
Write size will in many cases now be 16K instead of 4K which greatly helps Write size will in many cases now be 16K instead of 4K which greatly helps
file copy performance on lightly loaded networks. file copy performance on lightly loaded networks. Fix oops in dnotify
when experimental config flag enabled.
Version 1.37 Version 1.37
------------ ------------
......
...@@ -296,6 +296,8 @@ A partial list of the supported mount options follows: ...@@ -296,6 +296,8 @@ A partial list of the supported mount options follows:
unused. unused.
rsize default read size (usually 16K) rsize default read size (usually 16K)
wsize default write size (usually 16K, 32K is often better over GigE) wsize default write size (usually 16K, 32K is often better over GigE)
maximum wsize currently allowed by CIFS is 57344 (14 4096 byte
pages)
rw mount the network share read-write (note that the rw mount the network share read-write (note that the
server may still consider the share read-only) server may still consider the share read-only)
ro mount network share read-only ro mount network share read-only
......
...@@ -901,6 +901,10 @@ init_cifs(void) ...@@ -901,6 +901,10 @@ init_cifs(void)
INIT_LIST_HEAD(&GlobalSMBSessionList); INIT_LIST_HEAD(&GlobalSMBSessionList);
INIT_LIST_HEAD(&GlobalTreeConnectionList); INIT_LIST_HEAD(&GlobalTreeConnectionList);
INIT_LIST_HEAD(&GlobalOplock_Q); INIT_LIST_HEAD(&GlobalOplock_Q);
#ifdef CONFIG_CIFS_EXPERIMENTAL
INIT_LIST_HEAD(&GlobalDnotifyReqList);
INIT_LIST_HEAD(&GlobalDnotifyRsp_Q);
#endif
/* /*
* Initialize Global counters * Initialize Global counters
*/ */
......
...@@ -78,6 +78,10 @@ int cifs_dir_notify(struct file * file, unsigned long arg) ...@@ -78,6 +78,10 @@ int cifs_dir_notify(struct file * file, unsigned long arg)
__u32 filter = FILE_NOTIFY_CHANGE_NAME | FILE_NOTIFY_CHANGE_ATTRIBUTES; __u32 filter = FILE_NOTIFY_CHANGE_NAME | FILE_NOTIFY_CHANGE_ATTRIBUTES;
__u16 netfid; __u16 netfid;
if(experimEnabled == 0)
return 0;
xid = GetXid(); xid = GetXid();
cifs_sb = CIFS_SB(file->f_dentry->d_sb); cifs_sb = CIFS_SB(file->f_dentry->d_sb);
pTcon = cifs_sb->tcon; pTcon = cifs_sb->tcon;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment