All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <1509908140.12548.8.camel@primarydata.com>

diff --git a/a/1.txt b/N1/1.txt
index 1604403..72d0dd8 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,38 +1,61 @@
-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
+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Ç+‰·¥Š{±û"žØ^n‡r¡ö¦zË\x1aëh™¨è­Ú&¢îý»\x05ËÛÔØï¦v¬Îf\x1dp)¹¹br	šê+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹\x1e®w¥¢¸?™¨è­Ú&¢)ߢ^[f
diff --git a/a/content_digest b/N1/content_digest
index 0eb625a..a13648e 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,52 +1,76 @@
  "ref\05cbecaf0-dbb6-4140-43ed-ae94fc161941@virtuozzo.com\0"
  "ref\01509897719.5851.2.camel@primarydata.com\0"
  "ref\0297fee4f-3cef-9bd4-d683-a14559939b65@virtuozzo.com\0"
- "From\0Trond Myklebust <trondmy@primarydata.com>\0"
+ "ref\0297fee4f-3cef-9bd4-d683-a14559939b65-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org\0"
+ "From\0Trond Myklebust <trondmy-7I+n7zu2hftEKMMhf/gKZA@public.gmane.org>\0"
  "Subject\0Re: [PATCH 06/21] nfs client: exit_net cleanup check added\0"
  "Date\0Sun, 5 Nov 2017 18:55:42 +0000\0"
- "To\0netdev@vger.kernel.org <netdev@vger.kernel.org>"
- " vvs@virtuozzo.com <vvs@virtuozzo.com>\0"
- "Cc\0anna.schumaker@netapp.com <anna.schumaker@netapp.com>"
- " linux-nfs@vger.kernel.org <linux-nfs@vger.kernel.org>\0"
+ "To\0netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>"
+ " vvs-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org <vvs-5HdwGun5lf+gSpxsJD1C4w@public.gmane.org>\0"
+ "Cc\0anna.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>\0"
  "\00:1\0"
  "b\0"
- "T24gU3VuLCAyMDE3LTExLTA1IGF0IDE5OjQ4ICswMzAwLCBWYXNpbHkgQXZlcmluIHdyb3RlOg0K\n"
- "PiBPbiAyMDE3LTExLTA1IDE5OjAyLCBUcm9uZCBNeWtsZWJ1c3Qgd3JvdGU6DQo+ID4gT24gU3Vu\n"
- "LCAyMDE3LTExLTA1IGF0IDEzOjAwICswMzAwLCBWYXNpbHkgQXZlcmluIHdyb3RlOg0KPiA+ID4g\n"
- "QmUgc3VyZSB0aGF0IG5mc19jbGllbnRfbGlzdCBhbmQgbmZzX3ZvbHVtZV9saXN0IGxpc3RzDQo+\n"
- "ID4gPiBpbml0aWFsaXplZA0KPiA+ID4gaW4gbmV0X2luaXQgaG9vayB3ZXJlIHJldHVybiB0byBp\n"
- "bml0aWFsIHN0YXRlIGluIG5ldF9leGl0IGhvb2suDQo+ID4gPiANCj4gPiA+IFNpZ25lZC1vZmYt\n"
- "Ynk6IFZhc2lseSBBdmVyaW4gPHZ2c0B2aXJ0dW96em8uY29tPg0KPiA+ID4gLS0tDQo+ID4gPiAg\n"
- "ZnMvbmZzL2NsaWVudC5jIHwgNCArKysrDQo+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0\n"
- "aW9ucygrKQ0KPiA+ID4gDQo+ID4gPiBkaWZmIC0tZ2l0IGEvZnMvbmZzL2NsaWVudC5jIGIvZnMv\n"
- "bmZzL2NsaWVudC5jDQo+ID4gPiBpbmRleCAyMjg4MGVmLi43YzA2OTFjIDEwMDY0NA0KPiA+ID4g\n"
- "LS0tIGEvZnMvbmZzL2NsaWVudC5jDQo+ID4gPiArKysgYi9mcy9uZnMvY2xpZW50LmMNCj4gPiA+\n"
- "IEBAIC0yMDQsNiArMjA0LDEwIEBAIHZvaWQgbmZzX2NsZWFudXBfY2JfaWRlbnRfaWRyKHN0cnVj\n"
- "dCBuZXQNCj4gPiA+ICpuZXQpDQo+ID4gPiAgCXN0cnVjdCBuZnNfbmV0ICpubiA9IG5ldF9nZW5l\n"
- "cmljKG5ldCwgbmZzX25ldF9pZCk7DQo+ID4gPiAgDQo+ID4gPiAgCWlkcl9kZXN0cm95KCZubi0+\n"
- "Y2JfaWRlbnRfaWRyKTsNCj4gPiA+ICsJV0FSTighbGlzdF9lbXB0eSgmbm4tPm5mc19jbGllbnRf\n"
- "bGlzdCksDQo+ID4gPiArCSAgICAgIm5ldCAlcCBleGl0OiBuZnNfY2xpZW50X2xpc3QgaXMgbm90\n"
- "IGVtcHR5XG4iLA0KPiA+ID4gbmV0KTsNCj4gPiA+ICsJV0FSTighbGlzdF9lbXB0eSgmbm4tPm5m\n"
- "c192b2x1bWVfbGlzdCksDQo+ID4gPiArCSAgICAgIm5ldCAlcCBleGl0OiBuZnNfdm9sdW1lX2xp\n"
- "c3QgaXMgbm90IGVtcHR5XG4iLA0KPiA+ID4gbmV0KTsNCj4gPiA+ICB9DQo+ID4gPiAgDQo+ID4g\n"
- "DQo+ID4gV2h5IGRvIHdlIG5lZWQgdGhlc2U/IElzIHRoZXJlIGEgc3BlY2lmaWMgYnVnIHRoYXQg\n"
- "eW91IGFyZSB0cnlpbmcNCj4gPiB0bw0KPiA+IHRyYWNrIGRvd24/DQo+IA0KPiBJIGhvcGUgc3Vj\n"
- "aCBjaGVja3MgYWxsb3dzIHRvIGRldGVjdCBsZWFrZWQgcGVyLW5ldG5zIG9iamVjdHMuDQo+IEFs\n"
- "c28gSSBob3BlIHRoYXQgYWxsIG5ldyBwZXJuZXRfb3BlcmF0aW9ucyB3aWxsIGluaGVyaXQgc3Vj\n"
- "aCBjaGVja3MNCj4gdG9vLg0KPiANCj4gSSBhc3N1bWUgdGhhdCBlbGVtZW50cyBhZGRlZCBpbnRv\n"
- "IHBlci1uZXQgbGlzdHMgc2hvdWxkIG5vdCBsaXZlDQo+IGxvbmdlciB0aGFuIG5ldCBuYW1lc3Bh\n"
- "Y2UsDQo+IGFuZCBzaG91bGQgYmUgZGVsZXRlZCBmcm9tIHRoZSBsaXN0LiBJIHRoaW5rIGV4aXRf\n"
- "bmV0IGhvb2sgaXMgZ29vZA0KPiBwbGFjZSBmb3Igc3VjaCBjaGVjay4NCj4gDQo+IFJlY2VudGx5\n"
- "IEkndmUgZm91bmQgbG9zdCBsaXN0X2VudHJ5IGFuZCBlbmFibGVkIHRpbWVyIG9uIHN0b3Agb2Yg\n"
- "bmV0DQo+IG5hbWVzcGFjZS4NCj4gVGhlbiBJJ3ZlIHJldmlld2VkIGFsbCBleGlzdGluZyBwZXJu\n"
- "ZXRfb3BlcmF0aW9ucyBhbmQgZm91bmQgdGhhdCBtYW55DQo+IGRyaXZlcnMNCj4gaGF2ZSBzdWNo\n"
- "IGNoZWNrcyBhbHJlYWR5LiBTbyBJIGRlY2lkZWQgdG8gY29tcGxldGUgdGhpcyB0YXNrIGFuZCBh\n"
- "ZGQNCj4gc3VjaCBjaGVja3MNCj4gaW50byBhbGwgYWZmZWN0ZWQgc3Vic3lzdGVtcy4NCj4gDQoN\n"
- "ClVubGVzcyB0aGVyZSBpcyBhIGtub3duIHByb2JsZW0gdGhhdCBoYXMgc3BlY2lmaWMgZGVidWdn\n"
- "aW5nIG5lZWRzLCB0aGlzDQpraW5kIG9mIGFzc2VydCBzaG91bGQgdGFrZSB0aGUgZm9ybSBvZiBh\n"
- "IFdBUk5fT05DRSgpIHNvIHRoYXQgaXQgZG9lc24ndA0KZmlsbCB1c2VyIHN5c2xvZ3Mgd2l0aCBy\n"
- "ZWR1bmRhbnQgd2FybmluZ3MgaWYgdHJpZ2dlcmVkLg0KDQotLSANClRyb25kIE15a2xlYnVzdA0K\n"
- "TGludXggTkZTIGNsaWVudCBtYWludGFpbmVyLCBQcmltYXJ5RGF0YQ0KdHJvbmQubXlrbGVidXN0\n"
- QHByaW1hcnlkYXRhLmNvbQ0K
+ "On Sun, 2017-11-05 at 19:48 +0300, Vasily Averin wrote:\n"
+ "> On 2017-11-05 19:02, Trond Myklebust wrote:\n"
+ "> > On Sun, 2017-11-05 at 13:00 +0300, Vasily Averin wrote:\n"
+ "> > > Be sure that nfs_client_list and nfs_volume_list lists\n"
+ "> > > initialized\n"
+ "> > > in net_init hook were return to initial state in net_exit hook.\n"
+ "> > > \n"
+ "> > > Signed-off-by: Vasily Averin <vvs@virtuozzo.com>\n"
+ "> > > ---\n"
+ "> > >  fs/nfs/client.c | 4 ++++\n"
+ "> > >  1 file changed, 4 insertions(+)\n"
+ "> > > \n"
+ "> > > diff --git a/fs/nfs/client.c b/fs/nfs/client.c\n"
+ "> > > index 22880ef..7c0691c 100644\n"
+ "> > > --- a/fs/nfs/client.c\n"
+ "> > > +++ b/fs/nfs/client.c\n"
+ "> > > @@ -204,6 +204,10 @@ void nfs_cleanup_cb_ident_idr(struct net\n"
+ "> > > *net)\n"
+ "> > >  \tstruct nfs_net *nn = net_generic(net, nfs_net_id);\n"
+ "> > >  \n"
+ "> > >  \tidr_destroy(&nn->cb_ident_idr);\n"
+ "> > > +\tWARN(!list_empty(&nn->nfs_client_list),\n"
+ "> > > +\t     \"net %p exit: nfs_client_list is not empty\\n\",\n"
+ "> > > net);\n"
+ "> > > +\tWARN(!list_empty(&nn->nfs_volume_list),\n"
+ "> > > +\t     \"net %p exit: nfs_volume_list is not empty\\n\",\n"
+ "> > > net);\n"
+ "> > >  }\n"
+ "> > >  \n"
+ "> > \n"
+ "> > Why do we need these? Is there a specific bug that you are trying\n"
+ "> > to\n"
+ "> > track down?\n"
+ "> \n"
+ "> I hope such checks allows to detect leaked per-netns objects.\n"
+ "> Also I hope that all new pernet_operations will inherit such checks\n"
+ "> too.\n"
+ "> \n"
+ "> I assume that elements added into per-net lists should not live\n"
+ "> longer than net namespace,\n"
+ "> and should be deleted from the list. I think exit_net hook is good\n"
+ "> place for such check.\n"
+ "> \n"
+ "> Recently I've found lost list_entry and enabled timer on stop of net\n"
+ "> namespace.\n"
+ "> Then I've reviewed all existing pernet_operations and found that many\n"
+ "> drivers\n"
+ "> have such checks already. So I decided to complete this task and add\n"
+ "> such checks\n"
+ "> into all affected subsystems.\n"
+ "> \n"
+ "\n"
+ "Unless there is a known problem that has specific debugging needs, this\n"
+ "kind of assert should take the form of a WARN_ONCE() so that it doesn't\n"
+ "fill user syslogs with redundant warnings if triggered.\n"
+ "\n"
+ "-- \n"
+ "Trond Myklebust\n"
+ "Linux NFS client maintainer, PrimaryData\n"
+ "trond.myklebust@primarydata.com\n"
+ "N\302\213\302\247\302\262\303\246\303\254r\302\270\302\233y\303\272\303\250\302\232\303\230b\302\262X\302\254\302\266\303\207\302\247v\303\230^\302\226)\303\236\302\272{.n\303\207+\302\211\302\267\302\245\302\212{\302\261\302\235\303\273\"\302\236\303\230^n\302\207r\302\241\303\266\302\246z\303\213\032\302\201\303\253h\302\231\302\250\303\250\302\255\303\232&\302\242\303\256\303\275\302\273\005\303\213\303\233\303\224\303\230\303\257\302\246v\302\254\303\216f\035p)\302\271\302\271br\t\302\232\302\235\303\252+\302\200\303\212+zf\302\243\302\242\302\267h\302\232\302\210\302\247~\302\206\302\255\302\206\303\233i\303\277\303\273\303\240z\302\271\036\302\256w\302\245\302\242\302\270?\302\231\302\250\303\250\302\255\303\232&\302\242)\303\237\302\242\033f"
 
-061e421065b25f9b4e0edd81e856208f6c177511b3846783a06f4a4401d7157a
+408a82cdc81c50aa6ab55d17e9e966dbfdc836a1c450accabd0d4f488c248f26

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.