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

diff --git a/a/1.txt b/N1/1.txt
index cbfa702..7e8ac7e 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -1,28 +1,33 @@
-T24gVGh1LCAyMDE4LTAxLTExIGF0IDEwOjIzICswODAwLCBNaW5nIExlaSB3cm90ZToNCj4gPiBu
-b3Qgc3VmZmljaWVudCB0byBwcmV2ZW50IC5xdWV1ZWNvbW1hbmQoKSBjYWxscyBmcm9tIHNjc2lf
-c2VuZF9laF9jbW5kKCkuDQo+IA0KPiBHaXZlbiBpdCBpcyBlcnJvciBoYW5kbGluZywgZG8gd2Ug
-bmVlZCB0byBwcmV2ZW50IHRoZSAucXVldWVjb21tYW5kKCkgY2FsbA0KPiBpbiBzY3NpX3NlbmRf
-ZWhfY21uZCgpPyBDb3VsZCB5b3Ugc2hhcmUgdXMgd2hhdCB0aGUgYWN0dWFsIGlzc3VlDQo+IG9i
-c2VydmVkIGlzIGZyb20gdXNlciB2aWV3Pw0KDQpQbGVhc2UgaGF2ZSBhIGxvb2sgYXQgdGhlIGtl
-cm5lbCBidWcgcmVwb3J0IGluIHRoZSBkZXNjcmlwdGlvbiBvZiBwYXRjaCA0LzQgb2YNCnRoaXMg
-c2VyaWVzLg0KDQo+ID4gSGVuY2Ugc3Vycm91bmQgdGhlIC5xdWV1ZWNvbW1hbmQoKSBjYWxsIGZy
-b20gdGhlIFNDU0kgZXJyb3IgaGFuZGxlciB3aXRoDQo+ID4gYmxrX3N0YXJ0X3dhaXRfaWZfcXVp
-ZXNjZWQoKSAvIGJsa19maW5pc2hfd2FpdF9pZl9xdWllc2NlZCgpLg0KPiA+IA0KPiA+IE5vdGU6
-IGNvbnZlcnRpbmcgdGhlIC5xdWV1ZWNvbW1hbmQoKSBjYWxsIGluIHNjc2lfc2VuZF9laF9jbW5k
-KCkgaW50bw0KPiA+IGNvZGUgdGhhdCBjYWxscyBibGtfZ2V0X3JlcXVlc3QoKSwgZS5nLiBzY3Np
-X2V4ZWN1dGVfcmVxKCksIGlzIG5vdCBhbg0KPiA+IG9wdGlvbiBzaW5jZSBzY3NpX3NlbmRfZWhf
-Y21uZCgpIGNhbiBiZSBjYWxsZWQgaWYgYWxsIHJlcXVlc3RzIGFyZQ0KPiA+IGFsbG9jYXRlZCBh
-bmQgaWYgbm8gcmVxdWVzdHMgd2lsbCBtYWtlIHByb2dyZXNzIHdpdGhvdXQgYWJvcnRpbmcgYW55
-DQo+ID4gb2YgdGhlc2UgcmVxdWVzdHMuDQo+IA0KPiBJZiB3ZSBuZWVkIHRvIHByZXZlbnQgdGhl
-IC5xdWV1ZWNvbW1hbmQoKSBpbiBzY3NpX3NlbmRfZWhfY21uZCgpLCB3aGF0DQo+IGRvIHlvdSB0
-aGluayBvZiB0aGUgYXBwcm9hY2ggYnkgcmVxdWV1aW5nIHRoZSBFSCBjb21tYW5kIHZpYQ0KPiBz
-Y3NpX21xX3JlcXVldWVfY21kKCkvc2NzaV9yZXF1ZXVlX2NtZCgpPyBBbmQgdGhlIEVIIHJlcXVl
-c3Qgd2lsbCBiZQ0KPiBkaXNwYXRjaGVkIGZpbmFsbHkgd2hlbiB0aGUgcXVldWUgYmVjb21lcyB1
-bnF1aWVzY2VkIG9yIHRoZSBTVE9QUEVEDQo+IGlzIGNsZWFyZWQuDQoNCkNhbGxpbmcgc2NzaV9t
-cV9yZXF1ZXVlX2NtZCgpIHdvdWxkIHRyaWdnZXIgc2NzaV9tcV91bmluaXRfY21kKCksDQpibGtf
-bXFfcHV0X2RyaXZlcl90YWcoKSwgYmxrX21xX2dldF9kcml2ZXJfdGFnKCkgYW5kIHNjc2lfbXFf
-cHJlcF9mbigpLg0KVGhhdCBjb3VsZCBjYXVzZSBzY3NpX2VoX3NjbWRfYWRkKCkgdG8gYmUgY2Fs
-bGVkIG11bHRpcGxlIHRpbWVzIGZvciB0aGUNCnNhbWUgU0NTSSBjb21tYW5kLiBIb3dldmVyLCB0
-aGF0IHdvdWxkIGJyZWFrIG9uZSBvZiB0aGUgYXNzdW1wdGlvbnMNCnNjc2lfZWhfc2NtZF9hZGQo
-KSBpcyBiYXNlZCBvbiwgbmFtZWx5IHRoYXQgdGhhdCBmdW5jdGlvbiBnZXRzIGNhbGxlZA0Kb25s
-eSBvbmNlIHBlciBTQ1NJIGNvbW1hbmQgdGhhdCBpcyBpbiBwcm9ncmVzcy4NCg0KQmFydC4g
+On Thu, 2018-01-11 at 10:23 +0800, Ming Lei wrote:
+> > not sufficient to prevent .queuecommand() calls from scsi_send_eh_cmnd().
+> 
+> Given it is error handling, do we need to prevent the .queuecommand() call
+> in scsi_send_eh_cmnd()? Could you share us what the actual issue
+> observed is from user view?
+
+Please have a look at the kernel bug report in the description of patch 4/4 of
+this series.
+
+> > Hence surround the .queuecommand() call from the SCSI error handler with
+> > blk_start_wait_if_quiesced() / blk_finish_wait_if_quiesced().
+> > 
+> > Note: converting the .queuecommand() call in scsi_send_eh_cmnd() into
+> > code that calls blk_get_request(), e.g. scsi_execute_req(), is not an
+> > option since scsi_send_eh_cmnd() can be called if all requests are
+> > allocated and if no requests will make progress without aborting any
+> > of these requests.
+> 
+> If we need to prevent the .queuecommand() in scsi_send_eh_cmnd(), what
+> do you think of the approach by requeuing the EH command via
+> scsi_mq_requeue_cmd()/scsi_requeue_cmd()? And the EH request will be
+> dispatched finally when the queue becomes unquiesced or the STOPPED
+> is cleared.
+
+Calling scsi_mq_requeue_cmd() would trigger scsi_mq_uninit_cmd(),
+blk_mq_put_driver_tag(), blk_mq_get_driver_tag() and scsi_mq_prep_fn().
+That could cause scsi_eh_scmd_add() to be called multiple times for the
+same SCSI command. However, that would break one of the assumptions
+scsi_eh_scmd_add() is based on, namely that that function gets called
+only once per SCSI command that is in progress.
+
+Bart. N‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·¥Š{±­ÙšŠ{ayº\x1dʇڙë,j\a­¢f£¢·hš‹»öì\x17/oSc¾™Ú³9˜uÀ¦æå‰È&jw¨®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿïêäz¹Þ–Šàþf£¢·hšˆ§~ˆmš
diff --git a/a/content_digest b/N1/content_digest
index 814298a..ab2f73e 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,49 +1,55 @@
  "ref\020180110181817.25166-1-bart.vanassche@wdc.com\0"
  "ref\020180110181817.25166-4-bart.vanassche@wdc.com\0"
  "ref\020180111022341.GA7290@ming.t460p\0"
- "From\0Bart Van Assche <Bart.VanAssche@wdc.com>\0"
+ "ref\020180111022341.GA7290-1Cy0MwPVgsaKEAUSAb389g@public.gmane.org\0"
+ "From\0Bart Van Assche <Bart.VanAssche-Sjgp3cTcYWE@public.gmane.org>\0"
  "Subject\0Re: [PATCH v2 3/4] scsi: Avoid that .queuecommand() gets called for a quiesced SCSI device\0"
  "Date\0Fri, 12 Jan 2018 22:45:57 +0000\0"
- "To\0ming.lei@redhat.com <ming.lei@redhat.com>\0"
- "Cc\0linux-block@vger.kernel.org <linux-block@vger.kernel.org>"
-  jthumshirn@suse.de <jthumshirn@suse.de>
-  linux-rdma@vger.kernel.org <linux-rdma@vger.kernel.org>
-  jgg@mellanox.com <jgg@mellanox.com>
-  hch@lst.de <hch@lst.de>
-  martin.petersen@oracle.com <martin.petersen@oracle.com>
-  axboe@kernel.dk <axboe@kernel.dk>
-  linux-scsi@vger.kernel.org <linux-scsi@vger.kernel.org>
-  hare@suse.com <hare@suse.com>
- " dledford@redhat.com <dledford@redhat.com>\0"
+ "To\0ming.lei-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org <ming.lei-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>\0"
+ "Cc\0linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>"
+  jthumshirn-l3A5Bk7waGM@public.gmane.org <jthumshirn-l3A5Bk7waGM@public.gmane.org>
+  linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
+  jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org <jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
+  hch-jcswGhMUV9g@public.gmane.org <hch-jcswGhMUV9g@public.gmane.org>
+  martin.petersen-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org <martin.petersen-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
+  axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org <axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
+  linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org <linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
+  hare-IBi9RG/b67k@public.gmane.org <hare-IBi9RG/b67k@public.gmane.org>
+ " dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>\0"
  "\00:1\0"
  "b\0"
- "T24gVGh1LCAyMDE4LTAxLTExIGF0IDEwOjIzICswODAwLCBNaW5nIExlaSB3cm90ZToNCj4gPiBu\n"
- "b3Qgc3VmZmljaWVudCB0byBwcmV2ZW50IC5xdWV1ZWNvbW1hbmQoKSBjYWxscyBmcm9tIHNjc2lf\n"
- "c2VuZF9laF9jbW5kKCkuDQo+IA0KPiBHaXZlbiBpdCBpcyBlcnJvciBoYW5kbGluZywgZG8gd2Ug\n"
- "bmVlZCB0byBwcmV2ZW50IHRoZSAucXVldWVjb21tYW5kKCkgY2FsbA0KPiBpbiBzY3NpX3NlbmRf\n"
- "ZWhfY21uZCgpPyBDb3VsZCB5b3Ugc2hhcmUgdXMgd2hhdCB0aGUgYWN0dWFsIGlzc3VlDQo+IG9i\n"
- "c2VydmVkIGlzIGZyb20gdXNlciB2aWV3Pw0KDQpQbGVhc2UgaGF2ZSBhIGxvb2sgYXQgdGhlIGtl\n"
- "cm5lbCBidWcgcmVwb3J0IGluIHRoZSBkZXNjcmlwdGlvbiBvZiBwYXRjaCA0LzQgb2YNCnRoaXMg\n"
- "c2VyaWVzLg0KDQo+ID4gSGVuY2Ugc3Vycm91bmQgdGhlIC5xdWV1ZWNvbW1hbmQoKSBjYWxsIGZy\n"
- "b20gdGhlIFNDU0kgZXJyb3IgaGFuZGxlciB3aXRoDQo+ID4gYmxrX3N0YXJ0X3dhaXRfaWZfcXVp\n"
- "ZXNjZWQoKSAvIGJsa19maW5pc2hfd2FpdF9pZl9xdWllc2NlZCgpLg0KPiA+IA0KPiA+IE5vdGU6\n"
- "IGNvbnZlcnRpbmcgdGhlIC5xdWV1ZWNvbW1hbmQoKSBjYWxsIGluIHNjc2lfc2VuZF9laF9jbW5k\n"
- "KCkgaW50bw0KPiA+IGNvZGUgdGhhdCBjYWxscyBibGtfZ2V0X3JlcXVlc3QoKSwgZS5nLiBzY3Np\n"
- "X2V4ZWN1dGVfcmVxKCksIGlzIG5vdCBhbg0KPiA+IG9wdGlvbiBzaW5jZSBzY3NpX3NlbmRfZWhf\n"
- "Y21uZCgpIGNhbiBiZSBjYWxsZWQgaWYgYWxsIHJlcXVlc3RzIGFyZQ0KPiA+IGFsbG9jYXRlZCBh\n"
- "bmQgaWYgbm8gcmVxdWVzdHMgd2lsbCBtYWtlIHByb2dyZXNzIHdpdGhvdXQgYWJvcnRpbmcgYW55\n"
- "DQo+ID4gb2YgdGhlc2UgcmVxdWVzdHMuDQo+IA0KPiBJZiB3ZSBuZWVkIHRvIHByZXZlbnQgdGhl\n"
- "IC5xdWV1ZWNvbW1hbmQoKSBpbiBzY3NpX3NlbmRfZWhfY21uZCgpLCB3aGF0DQo+IGRvIHlvdSB0\n"
- "aGluayBvZiB0aGUgYXBwcm9hY2ggYnkgcmVxdWV1aW5nIHRoZSBFSCBjb21tYW5kIHZpYQ0KPiBz\n"
- "Y3NpX21xX3JlcXVldWVfY21kKCkvc2NzaV9yZXF1ZXVlX2NtZCgpPyBBbmQgdGhlIEVIIHJlcXVl\n"
- "c3Qgd2lsbCBiZQ0KPiBkaXNwYXRjaGVkIGZpbmFsbHkgd2hlbiB0aGUgcXVldWUgYmVjb21lcyB1\n"
- "bnF1aWVzY2VkIG9yIHRoZSBTVE9QUEVEDQo+IGlzIGNsZWFyZWQuDQoNCkNhbGxpbmcgc2NzaV9t\n"
- "cV9yZXF1ZXVlX2NtZCgpIHdvdWxkIHRyaWdnZXIgc2NzaV9tcV91bmluaXRfY21kKCksDQpibGtf\n"
- "bXFfcHV0X2RyaXZlcl90YWcoKSwgYmxrX21xX2dldF9kcml2ZXJfdGFnKCkgYW5kIHNjc2lfbXFf\n"
- "cHJlcF9mbigpLg0KVGhhdCBjb3VsZCBjYXVzZSBzY3NpX2VoX3NjbWRfYWRkKCkgdG8gYmUgY2Fs\n"
- "bGVkIG11bHRpcGxlIHRpbWVzIGZvciB0aGUNCnNhbWUgU0NTSSBjb21tYW5kLiBIb3dldmVyLCB0\n"
- "aGF0IHdvdWxkIGJyZWFrIG9uZSBvZiB0aGUgYXNzdW1wdGlvbnMNCnNjc2lfZWhfc2NtZF9hZGQo\n"
- "KSBpcyBiYXNlZCBvbiwgbmFtZWx5IHRoYXQgdGhhdCBmdW5jdGlvbiBnZXRzIGNhbGxlZA0Kb25s\n"
- eSBvbmNlIHBlciBTQ1NJIGNvbW1hbmQgdGhhdCBpcyBpbiBwcm9ncmVzcy4NCg0KQmFydC4g
+ "On Thu, 2018-01-11 at 10:23 +0800, Ming Lei wrote:\n"
+ "> > not sufficient to prevent .queuecommand() calls from scsi_send_eh_cmnd().\n"
+ "> \n"
+ "> Given it is error handling, do we need to prevent the .queuecommand() call\n"
+ "> in scsi_send_eh_cmnd()? Could you share us what the actual issue\n"
+ "> observed is from user view?\n"
+ "\n"
+ "Please have a look at the kernel bug report in the description of patch 4/4 of\n"
+ "this series.\n"
+ "\n"
+ "> > Hence surround the .queuecommand() call from the SCSI error handler with\n"
+ "> > blk_start_wait_if_quiesced() / blk_finish_wait_if_quiesced().\n"
+ "> > \n"
+ "> > Note: converting the .queuecommand() call in scsi_send_eh_cmnd() into\n"
+ "> > code that calls blk_get_request(), e.g. scsi_execute_req(), is not an\n"
+ "> > option since scsi_send_eh_cmnd() can be called if all requests are\n"
+ "> > allocated and if no requests will make progress without aborting any\n"
+ "> > of these requests.\n"
+ "> \n"
+ "> If we need to prevent the .queuecommand() in scsi_send_eh_cmnd(), what\n"
+ "> do you think of the approach by requeuing the EH command via\n"
+ "> scsi_mq_requeue_cmd()/scsi_requeue_cmd()? And the EH request will be\n"
+ "> dispatched finally when the queue becomes unquiesced or the STOPPED\n"
+ "> is cleared.\n"
+ "\n"
+ "Calling scsi_mq_requeue_cmd() would trigger scsi_mq_uninit_cmd(),\n"
+ "blk_mq_put_driver_tag(), blk_mq_get_driver_tag() and scsi_mq_prep_fn().\n"
+ "That could cause scsi_eh_scmd_add() to be called multiple times for the\n"
+ "same SCSI command. However, that would break one of the assumptions\n"
+ "scsi_eh_scmd_add() is based on, namely that that function gets called\n"
+ "only once per SCSI command that is in progress.\n"
+ "\n"
+ "Bart. 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\255\303\231\302\232\302\212{ay\302\272\035\303\212\302\207\303\232\302\231\303\253,j\a\302\255\302\242f\302\243\302\242\302\267h\302\232\302\213\302\273\303\266\303\254\027/oSc\302\276\302\231\303\232\302\2639\302\230u\303\200\302\246\303\246\303\245\302\211\303\210&jw\302\250\302\256\003(\302\255\303\251\302\232\302\216\302\212\303\235\302\242j\"\302\235\303\272\032\302\266\033m\302\247\303\277\303\257\302\201\303\252\303\244z\302\271\303\236\302\226\302\212\303\240\303\276f\302\243\302\242\302\267h\302\232\302\210\302\247~\302\210m\302\232"
 
-d22687d4ce17f371e18499c51094669be9268163683b2524044bec8d63dbc36d
+f9f96267ab943ea11df2049c7404ba2cbe22d9d885ff9081bb6251dd58b0bef1

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.