diff for duplicates of <1492116064.24345.12.camel@sandisk.com> diff --git a/a/1.txt b/N1/1.txt index 4220543..d564a9b 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,36 +1,41 @@ On Thu, 2017-04-06 at 17:39 +0200, Christoph Hellwig wrote: -> Currently error is always 0 for non-passthrough requests when reaching the +> Currently error is always 0 for non-passthrough requests when reaching th= +e > scsi_noretry_cmd check in scsi_io_completion, which effectively disables > all fastfail logic. Fix this by having a single call to > __scsi_error_from_host_byte at the beginning of the function and always > having a valid error value. -> +>=20 > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > drivers/scsi/scsi_lib.c | 28 +++++++--------------------- > 1 file changed, 7 insertions(+), 21 deletions(-) -> +>=20 > diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c > index 11972d1075f1..89b4d9e69866 100644 > --- a/drivers/scsi/scsi_lib.c > +++ b/drivers/scsi/scsi_lib.c -> @@ -779,21 +779,17 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes) -> sense_valid = scsi_command_normalize_sense(cmd, &sshdr); +> @@ -779,21 +779,17 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsi= +gned int good_bytes) +> sense_valid =3D scsi_command_normalize_sense(cmd, &sshdr); > if (sense_valid) -> sense_deferred = scsi_sense_is_deferred(&sshdr); +> sense_deferred =3D scsi_sense_is_deferred(&sshdr); > + > + if (!sense_deferred) -> + error = __scsi_error_from_host_byte(cmd, result); +> + error =3D __scsi_error_from_host_byte(cmd, result); > } Hello Christoph, -Sorry but this doesn't look correct to me. Further down a "error = -__scsi_error_from_host_byte(cmd, result)" statement is removed that does not +Sorry but this doesn't look correct to me. Further down a "error =3D +__scsi_error_from_host_byte(cmd, result)" statement is removed that does no= +t depend on "if (!sense_deferred)" so I think that assignment should happen independent of the value of "sense_deferred". Additionally, how can it make -sense to call __scsi_error_from_host_byte() only if sense_deferred == false? -As you know the SCSI command result is generated by the LLD so I don't think +sense to call __scsi_error_from_host_byte() only if sense_deferred =3D=3D f= +alse? +As you know the SCSI command result is generated by the LLD so I don't thin= +k that it depends on whether or not the sense data has been deferred. -Bart. +Bart.= diff --git a/a/content_digest b/N1/content_digest index e1dad34..856a36c 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -16,40 +16,45 @@ "\00:1\0" "b\0" "On Thu, 2017-04-06 at 17:39 +0200, Christoph Hellwig wrote:\n" - "> Currently error is always 0 for non-passthrough requests when reaching the\n" + "> Currently error is always 0 for non-passthrough requests when reaching th=\n" + "e\n" "> scsi_noretry_cmd check in scsi_io_completion, which effectively disables\n" "> all fastfail logic. Fix this by having a single call to\n" "> __scsi_error_from_host_byte at the beginning of the function and always\n" "> having a valid error value.\n" - "> \n" + ">=20\n" "> Signed-off-by: Christoph Hellwig <hch@lst.de>\n" "> ---\n" "> drivers/scsi/scsi_lib.c | 28 +++++++---------------------\n" "> 1 file changed, 7 insertions(+), 21 deletions(-)\n" - "> \n" + ">=20\n" "> diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c\n" "> index 11972d1075f1..89b4d9e69866 100644\n" "> --- a/drivers/scsi/scsi_lib.c\n" "> +++ b/drivers/scsi/scsi_lib.c\n" - "> @@ -779,21 +779,17 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)\n" - "> \t\tsense_valid = scsi_command_normalize_sense(cmd, &sshdr);\n" + "> @@ -779,21 +779,17 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsi=\n" + "gned int good_bytes)\n" + "> \t\tsense_valid =3D scsi_command_normalize_sense(cmd, &sshdr);\n" "> \t\tif (sense_valid)\n" - "> \t\t\tsense_deferred = scsi_sense_is_deferred(&sshdr);\n" + "> \t\t\tsense_deferred =3D scsi_sense_is_deferred(&sshdr);\n" "> +\n" "> +\t\tif (!sense_deferred)\n" - "> +\t\t\terror = __scsi_error_from_host_byte(cmd, result);\n" + "> +\t\t\terror =3D __scsi_error_from_host_byte(cmd, result);\n" "> \t}\n" "\n" "Hello Christoph,\n" "\n" - "Sorry but this doesn't look correct to me. Further down a \"error =\n" - "__scsi_error_from_host_byte(cmd, result)\" statement is removed that does not\n" + "Sorry but this doesn't look correct to me. Further down a \"error =3D\n" + "__scsi_error_from_host_byte(cmd, result)\" statement is removed that does no=\n" + "t\n" "depend on \"if (!sense_deferred)\" so I think that assignment should happen\n" "independent of the value of \"sense_deferred\". Additionally, how can it make\n" - "sense to call __scsi_error_from_host_byte() only if sense_deferred == false?\n" - "As you know the SCSI command result is generated by the LLD so I don't think\n" + "sense to call __scsi_error_from_host_byte() only if sense_deferred =3D=3D f=\n" + "alse?\n" + "As you know the SCSI command result is generated by the LLD so I don't thin=\n" + "k\n" "that it depends on whether or not the sense data has been deferred.\n" "\n" - Bart. + Bart.= -61d120aec52876fcb178b44c30b90722c48f02b3fc3d67cf2dba52eff72cf181 +1192a861eacd8532f280a3d7c33ab9414afdaae1891ff7e38dc2f2479d59c2ff
diff --git a/a/1.txt b/N2/1.txt index 4220543..506a69a 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -1,11 +1,11 @@ -On Thu, 2017-04-06 at 17:39 +0200, Christoph Hellwig wrote: +On Thu, 2017-04-06@17:39 +0200, Christoph Hellwig wrote: > Currently error is always 0 for non-passthrough requests when reaching the > scsi_noretry_cmd check in scsi_io_completion, which effectively disables > all fastfail logic. Fix this by having a single call to > __scsi_error_from_host_byte at the beginning of the function and always > having a valid error value. > -> Signed-off-by: Christoph Hellwig <hch@lst.de> +> Signed-off-by: Christoph Hellwig <hch at lst.de> > --- > drivers/scsi/scsi_lib.c | 28 +++++++--------------------- > 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/a/content_digest b/N2/content_digest index e1dad34..46e18f0 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,28 +1,18 @@ "ref\020170406153944.10058-1-hch@lst.de\0" "ref\020170406153944.10058-9-hch@lst.de\0" - "From\0Bart Van Assche <Bart.VanAssche@sandisk.com>\0" - "Subject\0Re: [PATCH 08/25] scsi: fix fast-fail for non-passthrough requests\0" + "From\0Bart.VanAssche@sandisk.com (Bart Van Assche)\0" + "Subject\0[PATCH 08/25] scsi: fix fast-fail for non-passthrough requests\0" "Date\0Thu, 13 Apr 2017 20:41:07 +0000\0" - "To\0hch@lst.de <hch@lst.de>" - " axboe@kernel.dk <axboe@kernel.dk>\0" - "Cc\0linux-block@vger.kernel.org <linux-block@vger.kernel.org>" - konrad.wilk@oracle.com <konrad.wilk@oracle.com> - roger.pau@citrix.com <roger.pau@citrix.com> - linux-scsi@vger.kernel.org <linux-scsi@vger.kernel.org> - linux-nvme@lists.infradead.org <linux-nvme@lists.infradead.org> - jbacik@fb.com <jbacik@fb.com> - james.smart@broadcom.com <james.smart@broadcom.com> - " dm-devel@redhat.com <dm-devel@redhat.com>\0" "\00:1\0" "b\0" - "On Thu, 2017-04-06 at 17:39 +0200, Christoph Hellwig wrote:\n" + "On Thu, 2017-04-06@17:39 +0200, Christoph Hellwig wrote:\n" "> Currently error is always 0 for non-passthrough requests when reaching the\n" "> scsi_noretry_cmd check in scsi_io_completion, which effectively disables\n" "> all fastfail logic. Fix this by having a single call to\n" "> __scsi_error_from_host_byte at the beginning of the function and always\n" "> having a valid error value.\n" "> \n" - "> Signed-off-by: Christoph Hellwig <hch@lst.de>\n" + "> Signed-off-by: Christoph Hellwig <hch at lst.de>\n" "> ---\n" "> drivers/scsi/scsi_lib.c | 28 +++++++---------------------\n" "> 1 file changed, 7 insertions(+), 21 deletions(-)\n" @@ -52,4 +42,4 @@ "\n" Bart. -61d120aec52876fcb178b44c30b90722c48f02b3fc3d67cf2dba52eff72cf181 +7366e74eb4667282ed54102a893dc4e46a17feabafd51a45f9fcfa0868f700a5
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.