[CIFS] Fix oops in experimental notify code (when CONFIG_CIFS_EXPERIMENTAL
was turned on). Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
34210f3302
commit
4ca9c190d9
|
@ -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:
|
||||||
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)
|
||||||
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)
|
||||||
__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;
|
||||||
|
|
Loading…
Reference in New Issue