diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-08 12:51:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-08 12:51:44 -0400 |
commit | 6dea0737bc5e160efc77f4c39d393b94fd2746dc (patch) | |
tree | 5f4021fa66f86a9cf0700bdefb8fcdfb370161df /fs/nfs | |
parent | 25641c0c8d72f3d235c022fd2c19181912c2ae8b (diff) | |
parent | 34549ab09e62db9703811c6ed4715f2ffa1fd7fb (diff) |
Merge branch 'for-3.18' of git://linux-nfs.org/~bfields/linux
Pull nfsd updates from Bruce Fields:
"Highlights:
- support the NFSv4.2 SEEK operation (allowing clients to support
SEEK_HOLE/SEEK_DATA), thanks to Anna.
- end the grace period early in a number of cases, mitigating a
long-standing annoyance, thanks to Jeff
- improve SMP scalability, thanks to Trond"
* 'for-3.18' of git://linux-nfs.org/~bfields/linux: (55 commits)
nfsd: eliminate "to_delegation" define
NFSD: Implement SEEK
NFSD: Add generic v4.2 infrastructure
svcrdma: advertise the correct max payload
nfsd: introduce nfsd4_callback_ops
nfsd: split nfsd4_callback initialization and use
nfsd: introduce a generic nfsd4_cb
nfsd: remove nfsd4_callback.cb_op
nfsd: do not clear rpc_resp in nfsd4_cb_done_sequence
nfsd: fix nfsd4_cb_recall_done error handling
nfsd4: clarify how grace period ends
nfsd4: stop grace_time update at end of grace period
nfsd: skip subsequent UMH "create" operations after the first one for v4.0 clients
nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls
nfsd: serialize nfsdcltrack upcalls for a particular client
nfsd: pass extra info in env vars to upcalls to allow for early grace period end
nfsd: add a v4_end_grace file to /proc/fs/nfsd
lockd: add a /proc/fs/lockd/nlm_end_grace file
nfsd: reject reclaim request when client has already sent RECLAIM_COMPLETE
nfsd: remove redundant boot_time parm from grace_done client tracking op
...
Diffstat (limited to 'fs/nfs')
-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 | } |