cifs: make dnotify thread experimental code
authorJeff Layton <jlayton@redhat.com>
Mon, 1 Dec 2008 20:23:50 +0000 (15:23 -0500)
committerSteve French <sfrench@us.ibm.com>
Fri, 26 Dec 2008 02:29:09 +0000 (02:29 +0000)
Now that tasks sleeping in wait_for_response will time out on their own,
we're not reliant on the dnotify thread to do this. Mark it as
experimental code for now.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifsfs.c

index 7f87066ce29f876ff958138075f412bc5860dfc4..061a1dca987dc0d888dd2c9d8a15d602bd14a31a 100644 (file)
@@ -66,7 +66,9 @@ unsigned int sign_CIFS_PDUs = 1;
 extern struct task_struct *oplockThread; /* remove sparse warning */
 struct task_struct *oplockThread = NULL;
 /* extern struct task_struct * dnotifyThread; remove sparse warning */
+#ifdef CONFIG_CIFS_EXPERIMENTAL
 static struct task_struct *dnotifyThread = NULL;
+#endif
 static const struct super_operations cifs_super_ops;
 unsigned int CIFSMaxBufSize = CIFS_MAX_MSGSIZE;
 module_param(CIFSMaxBufSize, int, 0);
@@ -1049,6 +1051,7 @@ static int cifs_oplock_thread(void *dummyarg)
        return 0;
 }
 
+#ifdef CONFIG_CIFS_EXPERIMENTAL
 static int cifs_dnotify_thread(void *dummyarg)
 {
        struct list_head *tmp;
@@ -1074,6 +1077,7 @@ static int cifs_dnotify_thread(void *dummyarg)
 
        return 0;
 }
+#endif
 
 static int __init
 init_cifs(void)
@@ -1151,16 +1155,20 @@ init_cifs(void)
                goto out_unregister_dfs_key_type;
        }
 
+#ifdef CONFIG_CIFS_EXPERIMENTAL
        dnotifyThread = kthread_run(cifs_dnotify_thread, NULL, "cifsdnotifyd");
        if (IS_ERR(dnotifyThread)) {
                rc = PTR_ERR(dnotifyThread);
                cERROR(1, ("error %d create dnotify thread", rc));
                goto out_stop_oplock_thread;
        }
+#endif
 
        return 0;
 
+#ifdef CONFIG_CIFS_EXPERIMENTAL
  out_stop_oplock_thread:
+#endif
        kthread_stop(oplockThread);
  out_unregister_dfs_key_type:
 #ifdef CONFIG_CIFS_DFS_UPCALL
@@ -1199,8 +1207,10 @@ exit_cifs(void)
        cifs_destroy_inodecache();
        cifs_destroy_mids();
        cifs_destroy_request_bufs();
-       kthread_stop(oplockThread);
+#ifdef CONFIG_CIFS_EXPERIMENTAL
        kthread_stop(dnotifyThread);
+#endif
+       kthread_stop(oplockThread);
 }
 
 MODULE_AUTHOR("Steve French <sfrench@us.ibm.com>");