aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/cifsfs.c47
1 files changed, 0 insertions, 47 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 34f5701d9555..0d6d8b573652 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -66,9 +66,6 @@ unsigned int sign_CIFS_PDUs = 1;
66extern struct task_struct *oplockThread; /* remove sparse warning */ 66extern struct task_struct *oplockThread; /* remove sparse warning */
67struct task_struct *oplockThread = NULL; 67struct task_struct *oplockThread = NULL;
68/* extern struct task_struct * dnotifyThread; remove sparse warning */ 68/* extern struct task_struct * dnotifyThread; remove sparse warning */
69#ifdef CONFIG_CIFS_EXPERIMENTAL
70static struct task_struct *dnotifyThread = NULL;
71#endif
72static const struct super_operations cifs_super_ops; 69static const struct super_operations cifs_super_ops;
73unsigned int CIFSMaxBufSize = CIFS_MAX_MSGSIZE; 70unsigned int CIFSMaxBufSize = CIFS_MAX_MSGSIZE;
74module_param(CIFSMaxBufSize, int, 0); 71module_param(CIFSMaxBufSize, int, 0);
@@ -1041,34 +1038,6 @@ static int cifs_oplock_thread(void *dummyarg)
1041 return 0; 1038 return 0;
1042} 1039}
1043 1040
1044#ifdef CONFIG_CIFS_EXPERIMENTAL
1045static int cifs_dnotify_thread(void *dummyarg)
1046{
1047 struct list_head *tmp;
1048 struct TCP_Server_Info *server;
1049
1050 do {
1051 if (try_to_freeze())
1052 continue;
1053 set_current_state(TASK_INTERRUPTIBLE);
1054 schedule_timeout(15*HZ);
1055 /* check if any stuck requests that need
1056 to be woken up and wakeq so the
1057 thread can wake up and error out */
1058 read_lock(&cifs_tcp_ses_lock);
1059 list_for_each(tmp, &cifs_tcp_ses_list) {
1060 server = list_entry(tmp, struct TCP_Server_Info,
1061 tcp_ses_list);
1062 if (atomic_read(&server->inFlight))
1063 wake_up_all(&server->response_q);
1064 }
1065 read_unlock(&cifs_tcp_ses_lock);
1066 } while (!kthread_should_stop());
1067
1068 return 0;
1069}
1070#endif
1071
1072static int __init 1041static int __init
1073init_cifs(void) 1042init_cifs(void)
1074{ 1043{
@@ -1145,21 +1114,8 @@ init_cifs(void)
1145 goto out_unregister_dfs_key_type; 1114 goto out_unregister_dfs_key_type;
1146 } 1115 }
1147 1116
1148#ifdef CONFIG_CIFS_EXPERIMENTAL
1149 dnotifyThread = kthread_run(cifs_dnotify_thread, NULL, "cifsdnotifyd");
1150 if (IS_ERR(dnotifyThread)) {
1151 rc = PTR_ERR(dnotifyThread);
1152 cERROR(1, ("error %d create dnotify thread", rc));
1153 goto out_stop_oplock_thread;
1154 }
1155#endif
1156
1157 return 0; 1117 return 0;
1158 1118
1159#ifdef CONFIG_CIFS_EXPERIMENTAL
1160 out_stop_oplock_thread:
1161#endif
1162 kthread_stop(oplockThread);
1163 out_unregister_dfs_key_type: 1119 out_unregister_dfs_key_type:
1164#ifdef CONFIG_CIFS_DFS_UPCALL 1120#ifdef CONFIG_CIFS_DFS_UPCALL
1165 unregister_key_type(&key_type_dns_resolver); 1121 unregister_key_type(&key_type_dns_resolver);
@@ -1197,9 +1153,6 @@ exit_cifs(void)
1197 cifs_destroy_inodecache(); 1153 cifs_destroy_inodecache();
1198 cifs_destroy_mids(); 1154 cifs_destroy_mids();
1199 cifs_destroy_request_bufs(); 1155 cifs_destroy_request_bufs();
1200#ifdef CONFIG_CIFS_EXPERIMENTAL
1201 kthread_stop(dnotifyThread);
1202#endif
1203 kthread_stop(oplockThread); 1156 kthread_stop(oplockThread);
1204} 1157}
1205 1158