diff options
Diffstat (limited to 'fs/nfs/callback.c')
-rw-r--r-- | fs/nfs/callback.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/callback.c b/fs/nfs/callback.c index 54de482143cc..b8fb3a4ef649 100644 --- a/fs/nfs/callback.c +++ b/fs/nfs/callback.c | |||
@@ -235,7 +235,7 @@ static int nfs_callback_start_svc(int minorversion, struct rpc_xprt *xprt, | |||
235 | 235 | ||
236 | cb_info->serv = serv; | 236 | cb_info->serv = serv; |
237 | cb_info->rqst = rqstp; | 237 | cb_info->rqst = rqstp; |
238 | cb_info->task = kthread_run(callback_svc, cb_info->rqst, | 238 | cb_info->task = kthread_create(callback_svc, cb_info->rqst, |
239 | "nfsv4.%u-svc", minorversion); | 239 | "nfsv4.%u-svc", minorversion); |
240 | if (IS_ERR(cb_info->task)) { | 240 | if (IS_ERR(cb_info->task)) { |
241 | ret = PTR_ERR(cb_info->task); | 241 | ret = PTR_ERR(cb_info->task); |
@@ -244,6 +244,8 @@ static int nfs_callback_start_svc(int minorversion, struct rpc_xprt *xprt, | |||
244 | cb_info->task = NULL; | 244 | cb_info->task = NULL; |
245 | return ret; | 245 | return ret; |
246 | } | 246 | } |
247 | rqstp->rq_task = cb_info->task; | ||
248 | wake_up_process(cb_info->task); | ||
247 | dprintk("nfs_callback_up: service started\n"); | 249 | dprintk("nfs_callback_up: service started\n"); |
248 | return 0; | 250 | return 0; |
249 | } | 251 | } |