Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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
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
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
------------
+2 −0
Original line number Diff line number Diff line
@@ -296,6 +296,8 @@ A partial list of the supported mount options follows:
		unused.
  rsize		default read size (usually 16K)
  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
		server may still consider the share read-only)
  ro		mount network share read-only
+4 −0
Original line number Diff line number Diff line
@@ -901,6 +901,10 @@ init_cifs(void)
	INIT_LIST_HEAD(&GlobalSMBSessionList);
	INIT_LIST_HEAD(&GlobalTreeConnectionList);
	INIT_LIST_HEAD(&GlobalOplock_Q);
#ifdef CONFIG_CIFS_EXPERIMENTAL
	INIT_LIST_HEAD(&GlobalDnotifyReqList);
	INIT_LIST_HEAD(&GlobalDnotifyRsp_Q);
#endif	
/*
 *  Initialize Global counters
 */
+4 −0
Original line number Diff line number Diff line
@@ -78,6 +78,10 @@ int cifs_dir_notify(struct file * file, unsigned long arg)
	__u32 filter = FILE_NOTIFY_CHANGE_NAME | FILE_NOTIFY_CHANGE_ATTRIBUTES;
	__u16 netfid;


	if(experimEnabled == 0)
		return 0;

	xid = GetXid();
	cifs_sb = CIFS_SB(file->f_dentry->d_sb);
	pTcon = cifs_sb->tcon;