diff for duplicates of <1518226912.22856.3.camel@primarydata.com> diff --git a/a/1.txt b/N1/1.txt index 75497de..cfb2fe6 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,41 +1,65 @@ -T24gRnJpLCAyMDE4LTAyLTA5IGF0IDIzOjA2IC0wMjAwLCBUaGlhZ28gUmFmYWVsIEJlY2tlciB3 -cm90ZToNCj4gV2hlbiBpbnZlc3RpZ2F0aW5nIHJlYXNvbnMgZm9yIG5mcyBmYWlsdXJlcywgcGFj -a2V0IGR1bXBzIGFyZWkNCj4gZXZlbnR1YWxseSB1c2VkLg0KPiBGaW5kaW5nIHRoZSBycGMgdGhh -dCBnZW5lcmF0ZWQgdGhlIGZhaWx1cmUgaXMgZG9uZSBieSBjb21wYXJpbmcgYWxsDQo+IHNlbnQN -Cj4gcnBjIGNhbGxzIGFuZCBhbGwgcmVjZWl2ZWQgcnBjIHJlcGxpZXMgZm9yIHRob3NlIHdoaWNo -IGFyZQ0KPiB1bmFuc3dlcmVkLA0KPiB3aGljaCBpcyBwcm9uZSB0byBlcnJvcnMgbGlrZQ0KPiAt -IFNsb3cgc2VydmVyIHJlc3BvbnNlcw0KPiAtIEluY29tcGxldGUgYW5kIHVuY2FwdHVyZWQgcGFj -a2V0cyBpbiB0aGUgcGFja2V0IGR1bXANCj4gLSBUaGUgaGV1cmlzdGljcyB1c2VkIHRvIGluc3Bl -Y3QgcGFja2V0cyBmYWlsaW5nIHRvIGludGVycHJldCBvbmUNCj4gDQo+IFRoaXMgcGF0Y2ggYWRk -cyB0aGUgeGlkIG9mIHJwY190YXNrcyB0byB0aGUgJ25vdCByZXNwb25kaW5nJyBtZXNzYWdlcw0K -PiBpbiBjYWxsX3RpbWVvdXQgdG8gbWFrZSB0aGVzZSBhbmFseXNpcyBtb3JlIHByZWNpc2UuDQo+ -IA0KPiBTaWduZWQtb2ZmLWJ5OiBUaGlhZ28gUmFmYWVsIEJlY2tlciA8dGhpYWdvLmJlY2tlckBn -bWFpbC5jb20+DQo+IC0tLQ0KPiAgbmV0L3N1bnJwYy9jbG50LmMgfCAxMCArKysrKystLS0tDQo+ -ICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiANCj4g -ZGlmZiAtLWdpdCBhL25ldC9zdW5ycGMvY2xudC5jIGIvbmV0L3N1bnJwYy9jbG50LmMNCj4gaW5k -ZXggZTJhNDE4NGYzYzVkLi44M2M4YWNhOTUxZjQgMTAwNjQ0DQo+IC0tLSBhL25ldC9zdW5ycGMv -Y2xudC5jDQo+ICsrKyBiL25ldC9zdW5ycGMvY2xudC5jDQo+IEBAIC0yMjE0LDkgKzIyMTQsMTAg -QEAgY2FsbF90aW1lb3V0KHN0cnVjdCBycGNfdGFzayAqdGFzaykNCj4gIAl9DQo+ICAJaWYgKFJQ -Q19JU19TT0ZUKHRhc2spKSB7DQo+ICAJCWlmIChjbG50LT5jbF9jaGF0dHkpIHsNCj4gLQkJCXBy -aW50ayhLRVJOX05PVElDRSAiJXM6IHNlcnZlciAlcyBub3QNCj4gcmVzcG9uZGluZywgdGltZWQg -b3V0XG4iLA0KPiArCQkJcHJpbnRrKEtFUk5fTk9USUNFICIlczogc2VydmVyICVzIG5vdA0KPiBy -ZXNwb25kaW5nLCB0aW1lZCBvdXQgKHhpZDogJXgpXG4iLA0KPiAgCQkJCWNsbnQtPmNsX3Byb2dy -YW0tPm5hbWUsDQo+IC0JCQkJdGFzay0+dGtfeHBydC0+c2VydmVybmFtZSk7DQo+ICsJCQkJdGFz -ay0+dGtfeHBydC0+c2VydmVybmFtZSwNCj4gKwkJCQliZTMyX3RvX2NwdSh0YXNrLT50a19ycXN0 -cC0NCj4gPnJxX3hpZCkpOw0KPiAgCQl9DQo+ICAJCWlmICh0YXNrLT50a19mbGFncyAmIFJQQ19U -QVNLX1RJTUVPVVQpDQo+ICAJCQlycGNfZXhpdCh0YXNrLCAtRVRJTUVET1VUKTsNCj4gQEAgLTIy -MjgsOSArMjIyOSwxMCBAQCBjYWxsX3RpbWVvdXQoc3RydWN0IHJwY190YXNrICp0YXNrKQ0KPiAg -CWlmICghKHRhc2stPnRrX2ZsYWdzICYgUlBDX0NBTExfTUFKT1JTRUVOKSkgew0KPiAgCQl0YXNr -LT50a19mbGFncyB8PSBSUENfQ0FMTF9NQUpPUlNFRU47DQo+ICAJCWlmIChjbG50LT5jbF9jaGF0 -dHkpIHsNCj4gLQkJCXByaW50ayhLRVJOX05PVElDRSAiJXM6IHNlcnZlciAlcyBub3QNCj4gcmVz -cG9uZGluZywgc3RpbGwgdHJ5aW5nXG4iLA0KPiArCQkJcHJpbnRrKEtFUk5fTk9USUNFICIlczog -c2VydmVyICVzIG5vdA0KPiByZXNwb25kaW5nLCBzdGlsbCB0cnlpbmcgKHhpZDogJXgpXG4iLA0K -PiAgCQkJY2xudC0+Y2xfcHJvZ3JhbS0+bmFtZSwNCj4gLQkJCXRhc2stPnRrX3hwcnQtPnNlcnZl -cm5hbWUpOw0KPiArCQkJdGFzay0+dGtfeHBydC0+c2VydmVybmFtZSwNCj4gKwkJCWJlMzJfdG9f -Y3B1KHRhc2stPnRrX3Jxc3RwLT5ycV94aWQpKTsNCj4gIAkJfQ0KPiAgCX0NCj4gIAlycGNfZm9y -Y2VfcmViaW5kKGNsbnQpOw0KDQpOQUNLLiBXZSBzaG91bGQgbm90IGJlIGxvZ2dpbmcgaW50ZXJu -YWwgaW5mb3JtYXRpb24gc3VjaCBhcyBYSURzIGFzDQpLRVJOX05PVElDRSBtZXNzYWdlcy4gSWYg -eW91IHdhbnQgdGhpcyBpbmZvcm1hdGlvbiwgeW91IGNhbiBleHRyYWN0IGl0DQp5b3Vyc2VsZjsg -dGhlcmUgYXJlIGFscmVhZHkgcGxlbnR5IG9mIHdheXMgdG8gZG8gc28gYXMgYSBwcml2aWxlZ2Vk -DQp1c2VyLg0KDQotLSANClRyb25kIE15a2xlYnVzdA0KTGludXggTkZTIGNsaWVudCBtYWludGFp -bmVyLCBQcmltYXJ5RGF0YQ0KdHJvbmQubXlrbGVidXN0QHByaW1hcnlkYXRhLmNvbQ0K +On Fri, 2018-02-09 at 23:06 -0200, Thiago Rafael Becker wrote: +> When investigating reasons for nfs failures, packet dumps arei +> eventually used. +> Finding the rpc that generated the failure is done by comparing all +> sent +> rpc calls and all received rpc replies for those which are +> unanswered, +> which is prone to errors like +> - Slow server responses +> - Incomplete and uncaptured packets in the packet dump +> - The heuristics used to inspect packets failing to interpret one +> +> This patch adds the xid of rpc_tasks to the 'not responding' messages +> in call_timeout to make these analysis more precise. +> +> Signed-off-by: Thiago Rafael Becker <thiago.becker@gmail.com> +> --- +> net/sunrpc/clnt.c | 10 ++++++---- +> 1 file changed, 6 insertions(+), 4 deletions(-) +> +> diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c +> index e2a4184f3c5d..83c8aca951f4 100644 +> --- a/net/sunrpc/clnt.c +> +++ b/net/sunrpc/clnt.c +> @@ -2214,9 +2214,10 @@ call_timeout(struct rpc_task *task) +> } +> if (RPC_IS_SOFT(task)) { +> if (clnt->cl_chatty) { +> - printk(KERN_NOTICE "%s: server %s not +> responding, timed out\n", +> + printk(KERN_NOTICE "%s: server %s not +> responding, timed out (xid: %x)\n", +> clnt->cl_program->name, +> - task->tk_xprt->servername); +> + task->tk_xprt->servername, +> + be32_to_cpu(task->tk_rqstp- +> >rq_xid)); +> } +> if (task->tk_flags & RPC_TASK_TIMEOUT) +> rpc_exit(task, -ETIMEDOUT); +> @@ -2228,9 +2229,10 @@ call_timeout(struct rpc_task *task) +> if (!(task->tk_flags & RPC_CALL_MAJORSEEN)) { +> task->tk_flags |= RPC_CALL_MAJORSEEN; +> if (clnt->cl_chatty) { +> - printk(KERN_NOTICE "%s: server %s not +> responding, still trying\n", +> + printk(KERN_NOTICE "%s: server %s not +> responding, still trying (xid: %x)\n", +> clnt->cl_program->name, +> - task->tk_xprt->servername); +> + task->tk_xprt->servername, +> + be32_to_cpu(task->tk_rqstp->rq_xid)); +> } +> } +> rpc_force_rebind(clnt); + +NACK. We should not be logging internal information such as XIDs as +KERN_NOTICE messages. If you want this information, you can extract it +yourself; there are already plenty of ways to do so as a privileged +user. + +-- +Trond Myklebust +Linux NFS client maintainer, PrimaryData +trond.myklebust@primarydata.com diff --git a/a/content_digest b/N1/content_digest index 31760e6..030db82 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -11,46 +11,70 @@ " jlayton@kernel.org <jlayton@kernel.org>\0" "\00:1\0" "b\0" - "T24gRnJpLCAyMDE4LTAyLTA5IGF0IDIzOjA2IC0wMjAwLCBUaGlhZ28gUmFmYWVsIEJlY2tlciB3\n" - "cm90ZToNCj4gV2hlbiBpbnZlc3RpZ2F0aW5nIHJlYXNvbnMgZm9yIG5mcyBmYWlsdXJlcywgcGFj\n" - "a2V0IGR1bXBzIGFyZWkNCj4gZXZlbnR1YWxseSB1c2VkLg0KPiBGaW5kaW5nIHRoZSBycGMgdGhh\n" - "dCBnZW5lcmF0ZWQgdGhlIGZhaWx1cmUgaXMgZG9uZSBieSBjb21wYXJpbmcgYWxsDQo+IHNlbnQN\n" - "Cj4gcnBjIGNhbGxzIGFuZCBhbGwgcmVjZWl2ZWQgcnBjIHJlcGxpZXMgZm9yIHRob3NlIHdoaWNo\n" - "IGFyZQ0KPiB1bmFuc3dlcmVkLA0KPiB3aGljaCBpcyBwcm9uZSB0byBlcnJvcnMgbGlrZQ0KPiAt\n" - "IFNsb3cgc2VydmVyIHJlc3BvbnNlcw0KPiAtIEluY29tcGxldGUgYW5kIHVuY2FwdHVyZWQgcGFj\n" - "a2V0cyBpbiB0aGUgcGFja2V0IGR1bXANCj4gLSBUaGUgaGV1cmlzdGljcyB1c2VkIHRvIGluc3Bl\n" - "Y3QgcGFja2V0cyBmYWlsaW5nIHRvIGludGVycHJldCBvbmUNCj4gDQo+IFRoaXMgcGF0Y2ggYWRk\n" - "cyB0aGUgeGlkIG9mIHJwY190YXNrcyB0byB0aGUgJ25vdCByZXNwb25kaW5nJyBtZXNzYWdlcw0K\n" - "PiBpbiBjYWxsX3RpbWVvdXQgdG8gbWFrZSB0aGVzZSBhbmFseXNpcyBtb3JlIHByZWNpc2UuDQo+\n" - "IA0KPiBTaWduZWQtb2ZmLWJ5OiBUaGlhZ28gUmFmYWVsIEJlY2tlciA8dGhpYWdvLmJlY2tlckBn\n" - "bWFpbC5jb20+DQo+IC0tLQ0KPiAgbmV0L3N1bnJwYy9jbG50LmMgfCAxMCArKysrKystLS0tDQo+\n" - "ICAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiANCj4g\n" - "ZGlmZiAtLWdpdCBhL25ldC9zdW5ycGMvY2xudC5jIGIvbmV0L3N1bnJwYy9jbG50LmMNCj4gaW5k\n" - "ZXggZTJhNDE4NGYzYzVkLi44M2M4YWNhOTUxZjQgMTAwNjQ0DQo+IC0tLSBhL25ldC9zdW5ycGMv\n" - "Y2xudC5jDQo+ICsrKyBiL25ldC9zdW5ycGMvY2xudC5jDQo+IEBAIC0yMjE0LDkgKzIyMTQsMTAg\n" - "QEAgY2FsbF90aW1lb3V0KHN0cnVjdCBycGNfdGFzayAqdGFzaykNCj4gIAl9DQo+ICAJaWYgKFJQ\n" - "Q19JU19TT0ZUKHRhc2spKSB7DQo+ICAJCWlmIChjbG50LT5jbF9jaGF0dHkpIHsNCj4gLQkJCXBy\n" - "aW50ayhLRVJOX05PVElDRSAiJXM6IHNlcnZlciAlcyBub3QNCj4gcmVzcG9uZGluZywgdGltZWQg\n" - "b3V0XG4iLA0KPiArCQkJcHJpbnRrKEtFUk5fTk9USUNFICIlczogc2VydmVyICVzIG5vdA0KPiBy\n" - "ZXNwb25kaW5nLCB0aW1lZCBvdXQgKHhpZDogJXgpXG4iLA0KPiAgCQkJCWNsbnQtPmNsX3Byb2dy\n" - "YW0tPm5hbWUsDQo+IC0JCQkJdGFzay0+dGtfeHBydC0+c2VydmVybmFtZSk7DQo+ICsJCQkJdGFz\n" - "ay0+dGtfeHBydC0+c2VydmVybmFtZSwNCj4gKwkJCQliZTMyX3RvX2NwdSh0YXNrLT50a19ycXN0\n" - "cC0NCj4gPnJxX3hpZCkpOw0KPiAgCQl9DQo+ICAJCWlmICh0YXNrLT50a19mbGFncyAmIFJQQ19U\n" - "QVNLX1RJTUVPVVQpDQo+ICAJCQlycGNfZXhpdCh0YXNrLCAtRVRJTUVET1VUKTsNCj4gQEAgLTIy\n" - "MjgsOSArMjIyOSwxMCBAQCBjYWxsX3RpbWVvdXQoc3RydWN0IHJwY190YXNrICp0YXNrKQ0KPiAg\n" - "CWlmICghKHRhc2stPnRrX2ZsYWdzICYgUlBDX0NBTExfTUFKT1JTRUVOKSkgew0KPiAgCQl0YXNr\n" - "LT50a19mbGFncyB8PSBSUENfQ0FMTF9NQUpPUlNFRU47DQo+ICAJCWlmIChjbG50LT5jbF9jaGF0\n" - "dHkpIHsNCj4gLQkJCXByaW50ayhLRVJOX05PVElDRSAiJXM6IHNlcnZlciAlcyBub3QNCj4gcmVz\n" - "cG9uZGluZywgc3RpbGwgdHJ5aW5nXG4iLA0KPiArCQkJcHJpbnRrKEtFUk5fTk9USUNFICIlczog\n" - "c2VydmVyICVzIG5vdA0KPiByZXNwb25kaW5nLCBzdGlsbCB0cnlpbmcgKHhpZDogJXgpXG4iLA0K\n" - "PiAgCQkJY2xudC0+Y2xfcHJvZ3JhbS0+bmFtZSwNCj4gLQkJCXRhc2stPnRrX3hwcnQtPnNlcnZl\n" - "cm5hbWUpOw0KPiArCQkJdGFzay0+dGtfeHBydC0+c2VydmVybmFtZSwNCj4gKwkJCWJlMzJfdG9f\n" - "Y3B1KHRhc2stPnRrX3Jxc3RwLT5ycV94aWQpKTsNCj4gIAkJfQ0KPiAgCX0NCj4gIAlycGNfZm9y\n" - "Y2VfcmViaW5kKGNsbnQpOw0KDQpOQUNLLiBXZSBzaG91bGQgbm90IGJlIGxvZ2dpbmcgaW50ZXJu\n" - "YWwgaW5mb3JtYXRpb24gc3VjaCBhcyBYSURzIGFzDQpLRVJOX05PVElDRSBtZXNzYWdlcy4gSWYg\n" - "eW91IHdhbnQgdGhpcyBpbmZvcm1hdGlvbiwgeW91IGNhbiBleHRyYWN0IGl0DQp5b3Vyc2VsZjsg\n" - "dGhlcmUgYXJlIGFscmVhZHkgcGxlbnR5IG9mIHdheXMgdG8gZG8gc28gYXMgYSBwcml2aWxlZ2Vk\n" - "DQp1c2VyLg0KDQotLSANClRyb25kIE15a2xlYnVzdA0KTGludXggTkZTIGNsaWVudCBtYWludGFp\n" - bmVyLCBQcmltYXJ5RGF0YQ0KdHJvbmQubXlrbGVidXN0QHByaW1hcnlkYXRhLmNvbQ0K + "On Fri, 2018-02-09 at 23:06 -0200, Thiago Rafael Becker wrote:\n" + "> When investigating reasons for nfs failures, packet dumps arei\n" + "> eventually used.\n" + "> Finding the rpc that generated the failure is done by comparing all\n" + "> sent\n" + "> rpc calls and all received rpc replies for those which are\n" + "> unanswered,\n" + "> which is prone to errors like\n" + "> - Slow server responses\n" + "> - Incomplete and uncaptured packets in the packet dump\n" + "> - The heuristics used to inspect packets failing to interpret one\n" + "> \n" + "> This patch adds the xid of rpc_tasks to the 'not responding' messages\n" + "> in call_timeout to make these analysis more precise.\n" + "> \n" + "> Signed-off-by: Thiago Rafael Becker <thiago.becker@gmail.com>\n" + "> ---\n" + "> net/sunrpc/clnt.c | 10 ++++++----\n" + "> 1 file changed, 6 insertions(+), 4 deletions(-)\n" + "> \n" + "> diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c\n" + "> index e2a4184f3c5d..83c8aca951f4 100644\n" + "> --- a/net/sunrpc/clnt.c\n" + "> +++ b/net/sunrpc/clnt.c\n" + "> @@ -2214,9 +2214,10 @@ call_timeout(struct rpc_task *task)\n" + "> \t}\n" + "> \tif (RPC_IS_SOFT(task)) {\n" + "> \t\tif (clnt->cl_chatty) {\n" + "> -\t\t\tprintk(KERN_NOTICE \"%s: server %s not\n" + "> responding, timed out\\n\",\n" + "> +\t\t\tprintk(KERN_NOTICE \"%s: server %s not\n" + "> responding, timed out (xid: %x)\\n\",\n" + "> \t\t\t\tclnt->cl_program->name,\n" + "> -\t\t\t\ttask->tk_xprt->servername);\n" + "> +\t\t\t\ttask->tk_xprt->servername,\n" + "> +\t\t\t\tbe32_to_cpu(task->tk_rqstp-\n" + "> >rq_xid));\n" + "> \t\t}\n" + "> \t\tif (task->tk_flags & RPC_TASK_TIMEOUT)\n" + "> \t\t\trpc_exit(task, -ETIMEDOUT);\n" + "> @@ -2228,9 +2229,10 @@ call_timeout(struct rpc_task *task)\n" + "> \tif (!(task->tk_flags & RPC_CALL_MAJORSEEN)) {\n" + "> \t\ttask->tk_flags |= RPC_CALL_MAJORSEEN;\n" + "> \t\tif (clnt->cl_chatty) {\n" + "> -\t\t\tprintk(KERN_NOTICE \"%s: server %s not\n" + "> responding, still trying\\n\",\n" + "> +\t\t\tprintk(KERN_NOTICE \"%s: server %s not\n" + "> responding, still trying (xid: %x)\\n\",\n" + "> \t\t\tclnt->cl_program->name,\n" + "> -\t\t\ttask->tk_xprt->servername);\n" + "> +\t\t\ttask->tk_xprt->servername,\n" + "> +\t\t\tbe32_to_cpu(task->tk_rqstp->rq_xid));\n" + "> \t\t}\n" + "> \t}\n" + "> \trpc_force_rebind(clnt);\n" + "\n" + "NACK. We should not be logging internal information such as XIDs as\n" + "KERN_NOTICE messages. If you want this information, you can extract it\n" + "yourself; there are already plenty of ways to do so as a privileged\n" + "user.\n" + "\n" + "-- \n" + "Trond Myklebust\n" + "Linux NFS client maintainer, PrimaryData\n" + trond.myklebust@primarydata.com -66b954614d540a780bfc36a952e00cf5b38cc6c4fc3937ed12a808465b5850b5 +b1afaefc52a6f6411c23697b2454f5441be642f6d1e667157615bd31f6cd88fe
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.