remarkable-linux/net/sunrpc
Stanislav Kinsbursky ad6b134008 SUNRPC: fix pipe->ops cleanup on pipe dentry unlink
This patch looks late due to GSS AUTH patches sent already. But it fixes a flaw
in RPC PipeFS pipes handling.
I've added this patch in the series, because this series related to pipes. But
it should be a part of previous series named "SUNPRC: cleanup PipeFS for
network-namespace-aware users".

Pipe dentry can be created and destroyed many times during pipe life cycle.
This actually means, that we can't set pipe->ops to NULL in rpc_close_pipes()
and use this variable as a flag, indicating, that pipe's dentry is unlinking.
To follow this restriction, this patch replaces "pipe->ops = NULL" assignment
and checks for NULL with "pipe->dentry = NULL" assignment and checks for
NULL respectively.
This patch also removes check for non-NULL pipe->ops (or pipe->dentry) in
rpc_close_pipes() because it always non-NULL now.

Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-01-31 18:20:26 -05:00
..
auth_gss SUNRPC: remove RPC PipeFS mount point reference from RPC client 2012-01-31 18:20:26 -05:00
xprtrdma SUNRPC: create svc_xprt in proper network namespace 2011-12-06 16:20:42 -05:00
addr.c net: use IS_ENABLED(CONFIG_IPV6) 2011-12-11 18:25:16 -05:00
auth.c
auth_generic.c SUNRPC: Fix machine creds in generic_create_cred and generic_match 2012-01-23 14:03:46 -08:00
auth_null.c
auth_unix.c NFS/sunrpc: don't use a credential with extra groups. 2011-10-25 11:20:58 +02:00
backchannel_rqst.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
bc_svc.c
cache.c SUNRPC: split cache creation and PipeFS registration 2012-01-31 18:20:26 -05:00
clnt.c SUNRPC: remove RPC PipeFS mount point reference from RPC client 2012-01-31 18:20:26 -05:00
Kconfig
Makefile
netns.h SUNRPC: make SUNPRC clients list per network namespace context 2012-01-31 18:20:25 -05:00
rpc_pipe.c SUNRPC: fix pipe->ops cleanup on pipe dentry unlink 2012-01-31 18:20:26 -05:00
rpcb_clnt.c SUNRPC: remove rpcbind clients destruction on module cleanup 2011-10-25 13:20:50 +02:00
sched.c Merge branch 'master' into pm-sleep 2011-12-21 21:59:45 +01:00
socklib.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
stats.c
sunrpc.h SUNRPC: subscribe RPC clients to pipefs notifications 2012-01-31 18:20:25 -05:00
sunrpc_syms.c SUNRPC: make SUNPRC clients list per network namespace context 2012-01-31 18:20:25 -05:00
svc.c Merge branch 'for-3.3' of git://linux-nfs.org/~bfields/linux 2012-01-14 12:26:41 -08:00
svc_xprt.c Merge branch 'for-3.3' of git://linux-nfs.org/~bfields/linux 2012-01-14 12:26:41 -08:00
svcauth.c
svcauth_unix.c net: use IS_ENABLED(CONFIG_IPV6) 2011-12-11 18:25:16 -05:00
svcsock.c Merge branch 'for-3.3' of git://linux-nfs.org/~bfields/linux 2012-01-14 12:26:41 -08:00
sysctl.c SUNRPC: make SUNPRC clients list per network namespace context 2012-01-31 18:20:25 -05:00
timer.c
xdr.c NFSv4: include bitmap in nfsv4 get acl data 2012-01-05 10:42:42 -05:00
xprt.c SUNRPC: Ensure we always bump the backlog queue in xprt_free_slot 2011-12-01 14:16:17 -05:00
xprtsock.c SUNRPC: Ensure we return EAGAIN in xs_nospace if congestion is cleared 2011-11-22 23:55:27 +02:00