aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-10-10 22:52:13 -0400
committerSteve French <sfrench@us.ibm.com>2005-10-10 22:52:13 -0400
commit4ca9c190d902caa7efb899a4c7fc8c6e6d926e95 (patch)
tree2c2cce67494a43c7cd35063435ac0d18a85dbe4d
parent34210f33025a3256b9ac3f0a182f02f1879140cb (diff)
[CIFS] Fix oops in experimental notify code (when CONFIG_CIFS_EXPERIMENTAL
was turned on). Signed-off-by: Steve French <sfrench@us.ibm.com>
-rw-r--r--fs/cifs/CHANGES3
-rw-r--r--fs/cifs/README2
-rw-r--r--fs/cifs/cifsfs.c4
-rw-r--r--fs/cifs/fcntl.c4
4 files changed, 12 insertions, 1 deletions
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES
index 1c249a2abae3..b2a938378bef 100644
--- a/fs/cifs/CHANGES
+++ b/fs/cifs/CHANGES
@@ -8,7 +8,8 @@ allowing an SMBs TCP length to be up to a few bytes longer than it should be.
8wsize and rsize can now be larger than negotiated buffer size if server 8wsize and rsize can now be larger than negotiated buffer size if server
9supports large readx/writex, even when directio mount flag not specified. 9supports large readx/writex, even when directio mount flag not specified.
10Write size will in many cases now be 16K instead of 4K which greatly helps 10Write size will in many cases now be 16K instead of 4K which greatly helps
11file copy performance on lightly loaded networks. 11file copy performance on lightly loaded networks. Fix oops in dnotify
12when experimental config flag enabled.
12 13
13Version 1.37 14Version 1.37
14------------ 15------------
diff --git a/fs/cifs/README b/fs/cifs/README
index 5d9a953888d9..e7a3ce62d71b 100644
--- a/fs/cifs/README
+++ b/fs/cifs/README
@@ -296,6 +296,8 @@ A partial list of the supported mount options follows:
296 unused. 296 unused.
297 rsize default read size (usually 16K) 297 rsize default read size (usually 16K)
298 wsize default write size (usually 16K, 32K is often better over GigE) 298 wsize default write size (usually 16K, 32K is often better over GigE)
299 maximum wsize currently allowed by CIFS is 57344 (14 4096 byte
300 pages)
299 rw mount the network share read-write (note that the 301 rw mount the network share read-write (note that the
300 server may still consider the share read-only) 302 server may still consider the share read-only)
301 ro mount network share read-only 303 ro mount network share read-only
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 3bc9db522600..d2d16a9c1f05 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -901,6 +901,10 @@ init_cifs(void)
901 INIT_LIST_HEAD(&GlobalSMBSessionList); 901 INIT_LIST_HEAD(&GlobalSMBSessionList);
902 INIT_LIST_HEAD(&GlobalTreeConnectionList); 902 INIT_LIST_HEAD(&GlobalTreeConnectionList);
903 INIT_LIST_HEAD(&GlobalOplock_Q); 903 INIT_LIST_HEAD(&GlobalOplock_Q);
904#ifdef CONFIG_CIFS_EXPERIMENTAL
905 INIT_LIST_HEAD(&GlobalDnotifyReqList);
906 INIT_LIST_HEAD(&GlobalDnotifyRsp_Q);
907#endif
904/* 908/*
905 * Initialize Global counters 909 * Initialize Global counters
906 */ 910 */
diff --git a/fs/cifs/fcntl.c b/fs/cifs/fcntl.c
index d527e2c76073..a7a47bb36bf3 100644
--- a/fs/cifs/fcntl.c
+++ b/fs/cifs/fcntl.c
@@ -78,6 +78,10 @@ int cifs_dir_notify(struct file * file, unsigned long arg)
78 __u32 filter = FILE_NOTIFY_CHANGE_NAME | FILE_NOTIFY_CHANGE_ATTRIBUTES; 78 __u32 filter = FILE_NOTIFY_CHANGE_NAME | FILE_NOTIFY_CHANGE_ATTRIBUTES;
79 __u16 netfid; 79 __u16 netfid;
80 80
81
82 if(experimEnabled == 0)
83 return 0;
84
81 xid = GetXid(); 85 xid = GetXid();
82 cifs_sb = CIFS_SB(file->f_dentry->d_sb); 86 cifs_sb = CIFS_SB(file->f_dentry->d_sb);
83 pTcon = cifs_sb->tcon; 87 pTcon = cifs_sb->tcon;