Message ID | 20211021084206.2236-1-caihuoqing@baidu.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | NFSD: Make use of the helper macro kthread_run() | expand |
On Thu, 2021-10-21 at 16:42 +0800, Cai Huoqing wrote: > [You don't often get email from caihuoqing@baidu.com. Learn why this > is important at http://aka.ms/LearnAboutSenderIdentification.] > > Repalce kthread_create/wake_up_process() with kthread_run() > to simplify the code. > > Signed-off-by: Cai Huoqing <caihuoqing@baidu.com> > --- > fs/nfsd/nfs4proc.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c > index a36261f89bdf..69428cb31a55 100644 > --- a/fs/nfsd/nfs4proc.c > +++ b/fs/nfsd/nfs4proc.c > @@ -1685,15 +1685,15 @@ nfsd4_copy(struct svc_rqst *rqstp, struct > nfsd4_compound_state *cstate, > memcpy(©->cp_res.cb_stateid, ©- > >cp_stateid.stid, > sizeof(copy->cp_res.cb_stateid)); > dup_copy_fields(copy, async_copy); > - async_copy->copy_task = > kthread_create(nfsd4_do_async_copy, > - async_copy, "%s", "copy thread"); > + async_copy->copy_task = > kthread_run(nfsd4_do_async_copy, > + async_copy, "%s", > + "copy thread"); > if (IS_ERR(async_copy->copy_task)) > goto out_err; > spin_lock(&async_copy->cp_clp->async_lock); > list_add(&async_copy->copies, > &async_copy->cp_clp->async_copies); > spin_unlock(&async_copy->cp_clp->async_lock); > - wake_up_process(async_copy->copy_task); > status = nfs_ok; > } else { > status = nfsd4_do_copy(copy, 1); > -- > 2.25.1 > Ditto. This too would cause the thread to start running before async_copy has been fully initialised.
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index a36261f89bdf..69428cb31a55 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1685,15 +1685,15 @@ nfsd4_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, memcpy(©->cp_res.cb_stateid, ©->cp_stateid.stid, sizeof(copy->cp_res.cb_stateid)); dup_copy_fields(copy, async_copy); - async_copy->copy_task = kthread_create(nfsd4_do_async_copy, - async_copy, "%s", "copy thread"); + async_copy->copy_task = kthread_run(nfsd4_do_async_copy, + async_copy, "%s", + "copy thread"); if (IS_ERR(async_copy->copy_task)) goto out_err; spin_lock(&async_copy->cp_clp->async_lock); list_add(&async_copy->copies, &async_copy->cp_clp->async_copies); spin_unlock(&async_copy->cp_clp->async_lock); - wake_up_process(async_copy->copy_task); status = nfs_ok; } else { status = nfsd4_do_copy(copy, 1);
Repalce kthread_create/wake_up_process() with kthread_run() to simplify the code. Signed-off-by: Cai Huoqing <caihuoqing@baidu.com> --- fs/nfsd/nfs4proc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)