From: Trond Myklebust <trondmy@primarydata.com>
To: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"vvs@virtuozzo.com" <vvs@virtuozzo.com>
Cc: "anna.schumaker@netapp.com" <anna.schumaker@netapp.com>,
"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>
Subject: Re: [PATCH 06/21] nfs client: exit_net cleanup check added
Date: Sun, 5 Nov 2017 18:55:42 +0000 [thread overview]
Message-ID: <1509908140.12548.8.camel@primarydata.com> (raw)
In-Reply-To: <297fee4f-3cef-9bd4-d683-a14559939b65@virtuozzo.com>
T24gU3VuLCAyMDE3LTExLTA1IGF0IDE5OjQ4ICswMzAwLCBWYXNpbHkgQXZlcmluIHdyb3RlOg0K
PiBPbiAyMDE3LTExLTA1IDE5OjAyLCBUcm9uZCBNeWtsZWJ1c3Qgd3JvdGU6DQo+ID4gT24gU3Vu
LCAyMDE3LTExLTA1IGF0IDEzOjAwICswMzAwLCBWYXNpbHkgQXZlcmluIHdyb3RlOg0KPiA+ID4g
QmUgc3VyZSB0aGF0IG5mc19jbGllbnRfbGlzdCBhbmQgbmZzX3ZvbHVtZV9saXN0IGxpc3RzDQo+
ID4gPiBpbml0aWFsaXplZA0KPiA+ID4gaW4gbmV0X2luaXQgaG9vayB3ZXJlIHJldHVybiB0byBp
bml0aWFsIHN0YXRlIGluIG5ldF9leGl0IGhvb2suDQo+ID4gPiANCj4gPiA+IFNpZ25lZC1vZmYt
Ynk6IFZhc2lseSBBdmVyaW4gPHZ2c0B2aXJ0dW96em8uY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAg
ZnMvbmZzL2NsaWVudC5jIHwgNCArKysrDQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0
aW9ucygrKQ0KPiA+ID4gDQo+ID4gPiBkaWZmIC0tZ2l0IGEvZnMvbmZzL2NsaWVudC5jIGIvZnMv
bmZzL2NsaWVudC5jDQo+ID4gPiBpbmRleCAyMjg4MGVmLi43YzA2OTFjIDEwMDY0NA0KPiA+ID4g
LS0tIGEvZnMvbmZzL2NsaWVudC5jDQo+ID4gPiArKysgYi9mcy9uZnMvY2xpZW50LmMNCj4gPiA+
IEBAIC0yMDQsNiArMjA0LDEwIEBAIHZvaWQgbmZzX2NsZWFudXBfY2JfaWRlbnRfaWRyKHN0cnVj
dCBuZXQNCj4gPiA+ICpuZXQpDQo+ID4gPiAgCXN0cnVjdCBuZnNfbmV0ICpubiA9IG5ldF9nZW5l
cmljKG5ldCwgbmZzX25ldF9pZCk7DQo+ID4gPiAgDQo+ID4gPiAgCWlkcl9kZXN0cm95KCZubi0+
Y2JfaWRlbnRfaWRyKTsNCj4gPiA+ICsJV0FSTighbGlzdF9lbXB0eSgmbm4tPm5mc19jbGllbnRf
bGlzdCksDQo+ID4gPiArCSAgICAgIm5ldCAlcCBleGl0OiBuZnNfY2xpZW50X2xpc3QgaXMgbm90
IGVtcHR5XG4iLA0KPiA+ID4gbmV0KTsNCj4gPiA+ICsJV0FSTighbGlzdF9lbXB0eSgmbm4tPm5m
c192b2x1bWVfbGlzdCksDQo+ID4gPiArCSAgICAgIm5ldCAlcCBleGl0OiBuZnNfdm9sdW1lX2xp
c3QgaXMgbm90IGVtcHR5XG4iLA0KPiA+ID4gbmV0KTsNCj4gPiA+ICB9DQo+ID4gPiAgDQo+ID4g
DQo+ID4gV2h5IGRvIHdlIG5lZWQgdGhlc2U/IElzIHRoZXJlIGEgc3BlY2lmaWMgYnVnIHRoYXQg
eW91IGFyZSB0cnlpbmcNCj4gPiB0bw0KPiA+IHRyYWNrIGRvd24/DQo+IA0KPiBJIGhvcGUgc3Vj
aCBjaGVja3MgYWxsb3dzIHRvIGRldGVjdCBsZWFrZWQgcGVyLW5ldG5zIG9iamVjdHMuDQo+IEFs
c28gSSBob3BlIHRoYXQgYWxsIG5ldyBwZXJuZXRfb3BlcmF0aW9ucyB3aWxsIGluaGVyaXQgc3Vj
aCBjaGVja3MNCj4gdG9vLg0KPiANCj4gSSBhc3N1bWUgdGhhdCBlbGVtZW50cyBhZGRlZCBpbnRv
IHBlci1uZXQgbGlzdHMgc2hvdWxkIG5vdCBsaXZlDQo+IGxvbmdlciB0aGFuIG5ldCBuYW1lc3Bh
Y2UsDQo+IGFuZCBzaG91bGQgYmUgZGVsZXRlZCBmcm9tIHRoZSBsaXN0LiBJIHRoaW5rIGV4aXRf
bmV0IGhvb2sgaXMgZ29vZA0KPiBwbGFjZSBmb3Igc3VjaCBjaGVjay4NCj4gDQo+IFJlY2VudGx5
IEkndmUgZm91bmQgbG9zdCBsaXN0X2VudHJ5IGFuZCBlbmFibGVkIHRpbWVyIG9uIHN0b3Agb2Yg
bmV0DQo+IG5hbWVzcGFjZS4NCj4gVGhlbiBJJ3ZlIHJldmlld2VkIGFsbCBleGlzdGluZyBwZXJu
ZXRfb3BlcmF0aW9ucyBhbmQgZm91bmQgdGhhdCBtYW55DQo+IGRyaXZlcnMNCj4gaGF2ZSBzdWNo
IGNoZWNrcyBhbHJlYWR5LiBTbyBJIGRlY2lkZWQgdG8gY29tcGxldGUgdGhpcyB0YXNrIGFuZCBh
ZGQNCj4gc3VjaCBjaGVja3MNCj4gaW50byBhbGwgYWZmZWN0ZWQgc3Vic3lzdGVtcy4NCj4gDQoN
ClVubGVzcyB0aGVyZSBpcyBhIGtub3duIHByb2JsZW0gdGhhdCBoYXMgc3BlY2lmaWMgZGVidWdn
aW5nIG5lZWRzLCB0aGlzDQpraW5kIG9mIGFzc2VydCBzaG91bGQgdGFrZSB0aGUgZm9ybSBvZiBh
IFdBUk5fT05DRSgpIHNvIHRoYXQgaXQgZG9lc24ndA0KZmlsbCB1c2VyIHN5c2xvZ3Mgd2l0aCBy
ZWR1bmRhbnQgd2FybmluZ3MgaWYgdHJpZ2dlcmVkLg0KDQotLSANClRyb25kIE15a2xlYnVzdA0K
TGludXggTkZTIGNsaWVudCBtYWludGFpbmVyLCBQcmltYXJ5RGF0YQ0KdHJvbmQubXlrbGVidXN0
QHByaW1hcnlkYXRhLmNvbQ0K
WARNING: multiple messages have this Message-ID (diff)
From: Trond Myklebust <trondmy-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>
To: "netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"vvs-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org"
<vvs-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org>
Cc: "anna.schumaker-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org"
<anna.schumaker-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org>,
"linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH 06/21] nfs client: exit_net cleanup check added
Date: Sun, 5 Nov 2017 18:55:42 +0000 [thread overview]
Message-ID: <1509908140.12548.8.camel@primarydata.com> (raw)
In-Reply-To: <297fee4f-3cef-9bd4-d683-a14559939b65-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 2259 bytes --]
On Sun, 2017-11-05 at 19:48 +0300, Vasily Averin wrote:
> On 2017-11-05 19:02, Trond Myklebust wrote:
> > On Sun, 2017-11-05 at 13:00 +0300, Vasily Averin wrote:
> > > Be sure that nfs_client_list and nfs_volume_list lists
> > > initialized
> > > in net_init hook were return to initial state in net_exit hook.
> > >
> > > Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
> > > ---
> > > fs/nfs/client.c | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> > > index 22880ef..7c0691c 100644
> > > --- a/fs/nfs/client.c
> > > +++ b/fs/nfs/client.c
> > > @@ -204,6 +204,10 @@ void nfs_cleanup_cb_ident_idr(struct net
> > > *net)
> > > struct nfs_net *nn = net_generic(net, nfs_net_id);
> > >
> > > idr_destroy(&nn->cb_ident_idr);
> > > + WARN(!list_empty(&nn->nfs_client_list),
> > > + "net %p exit: nfs_client_list is not empty\n",
> > > net);
> > > + WARN(!list_empty(&nn->nfs_volume_list),
> > > + "net %p exit: nfs_volume_list is not empty\n",
> > > net);
> > > }
> > >
> >
> > Why do we need these? Is there a specific bug that you are trying
> > to
> > track down?
>
> I hope such checks allows to detect leaked per-netns objects.
> Also I hope that all new pernet_operations will inherit such checks
> too.
>
> I assume that elements added into per-net lists should not live
> longer than net namespace,
> and should be deleted from the list. I think exit_net hook is good
> place for such check.
>
> Recently I've found lost list_entry and enabled timer on stop of net
> namespace.
> Then I've reviewed all existing pernet_operations and found that many
> drivers
> have such checks already. So I decided to complete this task and add
> such checks
> into all affected subsystems.
>
Unless there is a known problem that has specific debugging needs, this
kind of assert should take the form of a WARN_ONCE() so that it doesn't
fill user syslogs with redundant warnings if triggered.
--
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@primarydata.com
N§²æìr¸yúèØb²X¬¶Ç§vØ^)Þº{.nÇ+·¥{±û"Ø^nr¡ö¦zË\x1aëh¨èÚ&¢îý»\x05ËÛÔØï¦v¬Îf\x1dp)¹¹br ê+Ê+zf£¢·h§~Ûiÿûàz¹\x1e®w¥¢¸?¨èÚ&¢)ߢ^[f
next prev parent reply other threads:[~2017-11-05 18:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-05 10:00 [PATCH 06/21] nfs client: exit_net cleanup check added Vasily Averin
2017-11-05 16:02 ` Trond Myklebust
2017-11-05 16:02 ` Trond Myklebust
2017-11-05 16:48 ` Vasily Averin
2017-11-05 18:55 ` Trond Myklebust [this message]
2017-11-05 18:55 ` Trond Myklebust
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1509908140.12548.8.camel@primarydata.com \
--to=trondmy@primarydata.com \
--cc=anna.schumaker@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=vvs@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.