SUNRPC: Fix up task signalling
The RPC_TASK_KILLED flag should really not be set from another context because it can clobber data in the struct task when task->tk_flags is changed non-atomically. Let's therefore swap out RPC_TASK_KILLED with an atomic flag, and add a function to set that flag and safely wake up the task. Signed-off-by:Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by:
Anna Schumaker <Anna.Schumaker@Netapp.com>
Showing
- fs/lockd/clntproc.c 2 additions, 2 deletionsfs/lockd/clntproc.c
- fs/nfsd/nfs4callback.c 2 additions, 2 deletionsfs/nfsd/nfs4callback.c
- include/linux/sunrpc/sched.h 4 additions, 2 deletionsinclude/linux/sunrpc/sched.h
- include/trace/events/sunrpc.h 3 additions, 3 deletionsinclude/trace/events/sunrpc.h
- net/sunrpc/clnt.c 2 additions, 12 deletionsnet/sunrpc/clnt.c
- net/sunrpc/sched.c 23 additions, 5 deletionsnet/sunrpc/sched.c
- net/sunrpc/xprt.c 4 additions, 0 deletionsnet/sunrpc/xprt.c
Loading
Please register or sign in to comment