Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / fs / cifs / fcntl.c
index 7d2a920..633a938 100644 (file)
@@ -78,13 +78,15 @@ 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;
 
-       down(&file->f_dentry->d_sb->s_vfs_rename_sem);
        full_path = build_path_from_dentry(file->f_dentry);
-       up(&file->f_dentry->d_sb->s_vfs_rename_sem);
 
        if(full_path == NULL) {
                rc = -ENOMEM;
@@ -100,8 +102,10 @@ int cifs_dir_notify(struct file * file, unsigned long arg)
                } else {
                        filter = convert_to_cifs_notify_flags(arg);
                        if(filter != 0) {
-                               rc = CIFSSMBNotify(xid, pTcon, 0 /* no subdirs */, netfid, 
-                                       filter, cifs_sb->local_nls);
+                               rc = CIFSSMBNotify(xid, pTcon, 
+                                       0 /* no subdirs */, netfid,
+                                       filter, file, arg & DN_MULTISHOT,
+                                       cifs_sb->local_nls);
                        } else {
                                rc = -EINVAL;
                        }
@@ -109,7 +113,7 @@ int cifs_dir_notify(struct file * file, unsigned long arg)
                        it would close automatically but may be a way
                        to do it easily when inode freed or when
                        notify info is cleared/changed */
-            cERROR(1,("notify rc %d",rc));
+                       cFYI(1,("notify rc %d",rc));
                }
        }