* [PATCH] SUNRPC: skip dead but not buried clients on PipeFS events
@ 2012-04-19 10:57 Stanislav Kinsbursky
[not found] ` <20120419105707.32131.79719.stgit-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Stanislav Kinsbursky @ 2012-04-19 10:57 UTC (permalink / raw)
To: Trond.Myklebust
Cc: linux-nfs, xemul, neilb, netdev, linux-kernel, jbottomley,
bfields, davem, devel
These clients can't be safely dereferenced if their counter in 0.
Signee-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
---
net/sunrpc/clnt.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 6797246..591994d 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -218,7 +218,8 @@ static struct rpc_clnt *rpc_get_client_for_event(struct net *net, int event)
if (((event == RPC_PIPEFS_MOUNT) && clnt->cl_dentry) ||
((event == RPC_PIPEFS_UMOUNT) && !clnt->cl_dentry))
continue;
- atomic_inc(&clnt->cl_count);
+ if (atomic_inc_return(&clnt->cl_count) == 1)
+ continue;
spin_unlock(&sn->rpc_client_lock);
return clnt;
}
^ permalink raw reply related [flat|nested] 4+ messages in thread[parent not found: <20120419105707.32131.79719.stgit-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>]
* Re: [PATCH] SUNRPC: skip dead but not buried clients on PipeFS events [not found] ` <20120419105707.32131.79719.stgit-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org> @ 2012-04-19 11:36 ` Stanislav Kinsbursky 2012-04-19 21:40 ` bfields 0 siblings, 1 reply; 4+ messages in thread From: Stanislav Kinsbursky @ 2012-04-19 11:36 UTC (permalink / raw) To: Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org Cc: linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Pavel Emelianov, neilb-l3A5Bk7waGM@public.gmane.org, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, James Bottomley, bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org, davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org, devel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org Sorry, but ignore this patch too. It can't be that simple because of these cl_count tricks in rpc_release_client... 19.04.2012 14:57, Stanislav Kinsbursky пишет: > These clients can't be safely dereferenced if their counter in 0. > > Signee-off-by: Stanislav Kinsbursky<skinsbursky-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org> > > Signed-off-by: Stanislav Kinsbursky<skinsbursky-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org> > > --- > net/sunrpc/clnt.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c > index 6797246..591994d 100644 > --- a/net/sunrpc/clnt.c > +++ b/net/sunrpc/clnt.c > @@ -218,7 +218,8 @@ static struct rpc_clnt *rpc_get_client_for_event(struct net *net, int event) > if (((event == RPC_PIPEFS_MOUNT)&& clnt->cl_dentry) || > ((event == RPC_PIPEFS_UMOUNT)&& !clnt->cl_dentry)) > continue; > - atomic_inc(&clnt->cl_count); > + if (atomic_inc_return(&clnt->cl_count) == 1) > + continue; > spin_unlock(&sn->rpc_client_lock); > return clnt; > } > -- Best regards, Stanislav Kinsbursky -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] SUNRPC: skip dead but not buried clients on PipeFS events 2012-04-19 11:36 ` Stanislav Kinsbursky @ 2012-04-19 21:40 ` bfields [not found] ` <20120419214043.GA23309-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: bfields @ 2012-04-19 21:40 UTC (permalink / raw) To: Stanislav Kinsbursky Cc: Trond.Myklebust@netapp.com, linux-nfs@vger.kernel.org, Pavel Emelianov, neilb@suse.de, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, James Bottomley, davem@davemloft.net, devel@openvz.org On Thu, Apr 19, 2012 at 03:36:57PM +0400, Stanislav Kinsbursky wrote: > Sorry, but ignore this patch too. > It can't be that simple because of these cl_count tricks in rpc_release_client... OK. Very minor whine: > > 19.04.2012 14:57, Stanislav Kinsbursky пишет: > >These clients can't be safely dereferenced if their counter in 0. > > > >Signee-off-by: Stanislav Kinsbursky<skinsbursky@parallels.com> > > > >Signed-off-by: Stanislav Kinsbursky<skinsbursky@parallels.com> I don't mind fixing up trivial slips every now and then, but that double signed-off-by seems to happen on a lot of your posts; could you figure out what's up with your scripts? --b. > > > >--- > > net/sunrpc/clnt.c | 3 ++- > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > >diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c > >index 6797246..591994d 100644 > >--- a/net/sunrpc/clnt.c > >+++ b/net/sunrpc/clnt.c > >@@ -218,7 +218,8 @@ static struct rpc_clnt *rpc_get_client_for_event(struct net *net, int event) > > if (((event == RPC_PIPEFS_MOUNT)&& clnt->cl_dentry) || > > ((event == RPC_PIPEFS_UMOUNT)&& !clnt->cl_dentry)) > > continue; > >- atomic_inc(&clnt->cl_count); > >+ if (atomic_inc_return(&clnt->cl_count) == 1) > >+ continue; > > spin_unlock(&sn->rpc_client_lock); > > return clnt; > > } > > > > > -- > Best regards, > Stanislav Kinsbursky > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <20120419214043.GA23309-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>]
* Re: [PATCH] SUNRPC: skip dead but not buried clients on PipeFS events [not found] ` <20120419214043.GA23309-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org> @ 2012-04-20 6:05 ` Stanislav Kinsbursky 0 siblings, 0 replies; 4+ messages in thread From: Stanislav Kinsbursky @ 2012-04-20 6:05 UTC (permalink / raw) To: bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org Cc: Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org, linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Pavel Emelianov, neilb-l3A5Bk7waGM@public.gmane.org, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, James Bottomley, davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org, devel-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org 20.04.2012 01:40, bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org написал: > On Thu, Apr 19, 2012 at 03:36:57PM +0400, Stanislav Kinsbursky wrote: >> Sorry, but ignore this patch too. >> It can't be that simple because of these cl_count tricks in rpc_release_client... > OK. Very minor whine: > >> 19.04.2012 14:57, Stanislav Kinsbursky пишет: >>> These clients can't be safely dereferenced if their counter in 0. >>> >>> Signee-off-by: Stanislav Kinsbursky<skinsbursky-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org> >>> >>> Signed-off-by: Stanislav Kinsbursky<skinsbursky-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org> > I don't mind fixing up trivial slips every now and then, but that double > signed-off-by seems to happen on a lot of your posts; could you figure > out what's up with your scripts? Yes, sure. Sorry. I've noticed this problem just yesterday. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-04-20 6:05 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-19 10:57 [PATCH] SUNRPC: skip dead but not buried clients on PipeFS events Stanislav Kinsbursky
[not found] ` <20120419105707.32131.79719.stgit-bi+AKbBUZKagILUCTcTcHdKyNwTtLsGr@public.gmane.org>
2012-04-19 11:36 ` Stanislav Kinsbursky
2012-04-19 21:40 ` bfields
[not found] ` <20120419214043.GA23309-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-04-20 6:05 ` Stanislav Kinsbursky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).