diff options
author | Steve French <sfrench@us.ibm.com> | 2005-10-10 22:52:13 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2005-10-10 22:52:13 -0400 |
commit | 4ca9c190d902caa7efb899a4c7fc8c6e6d926e95 (patch) | |
tree | 2c2cce67494a43c7cd35063435ac0d18a85dbe4d | |
parent | 34210f33025a3256b9ac3f0a182f02f1879140cb (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/CHANGES | 3 | ||||
-rw-r--r-- | fs/cifs/README | 2 | ||||
-rw-r--r-- | fs/cifs/cifsfs.c | 4 | ||||
-rw-r--r-- | fs/cifs/fcntl.c | 4 |
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. | |||
8 | wsize and rsize can now be larger than negotiated buffer size if server | 8 | wsize and rsize can now be larger than negotiated buffer size if server |
9 | supports large readx/writex, even when directio mount flag not specified. | 9 | supports large readx/writex, even when directio mount flag not specified. |
10 | Write size will in many cases now be 16K instead of 4K which greatly helps | 10 | Write size will in many cases now be 16K instead of 4K which greatly helps |
11 | file copy performance on lightly loaded networks. | 11 | file copy performance on lightly loaded networks. Fix oops in dnotify |
12 | when experimental config flag enabled. | ||
12 | 13 | ||
13 | Version 1.37 | 14 | Version 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; |