From: Damien Le Moal <damien.lemoal@wdc.com> To: linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk>, linux-scsi@vger.kernel.org, "Martin K . Petersen" <martin.petersen@oracle.com>, dm-devel@redhat.com, Mike Snitzer <snitzer@redhat.com> Cc: Ajay Joshi <ajay.joshi@wdc.com>, Matias Bjorling <matias.bjorling@wdc.com>, Hans Holmberg <Hans.Holmberg@wdc.com>, Dmitry Fomichev <dmitry.fomichev@wdc.com>, Keith Busch <kbusch@kernel.org> Subject: [PATCH 3/8] scsi: sd_zbc: Fix sd_zbc_complete() Date: Sun, 27 Oct 2019 23:05:44 +0900 [thread overview] Message-ID: <20191027140549.26272-4-damien.lemoal@wdc.com> (raw) In-Reply-To: <20191027140549.26272-1-damien.lemoal@wdc.com> The ILLEGAL REQUEST/INVALID FIELD IN CDB error generated by an attempt to reset a conventional zone does not apply to the reset write pointer command with the ALL bit set, that is, to REQ_OP_ZONE_RESET_ALL requests. Fix sd_zbc_complete() to be quiet only in the case of REQ_OP_ZONE_RESET, excluding REQ_OP_ZONE_RESET_ALL. Since REQ_OP_ZONE_RESET is the only request handled by sd_zbc_complete(), also simplify the code using a simple if statement. Fixes: d81e9d494354 ("scsi: implement REQ_OP_ZONE_RESET_ALL") Cc: stable@vger.kernel.org Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> --- drivers/scsi/sd_zbc.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/drivers/scsi/sd_zbc.c b/drivers/scsi/sd_zbc.c index de4019dc0f0b..1efc69e194f8 100644 --- a/drivers/scsi/sd_zbc.c +++ b/drivers/scsi/sd_zbc.c @@ -263,25 +263,16 @@ void sd_zbc_complete(struct scsi_cmnd *cmd, unsigned int good_bytes, int result = cmd->result; struct request *rq = cmd->request; - switch (req_op(rq)) { - case REQ_OP_ZONE_RESET: - case REQ_OP_ZONE_RESET_ALL: - - if (result && - sshdr->sense_key == ILLEGAL_REQUEST && - sshdr->asc == 0x24) - /* - * INVALID FIELD IN CDB error: reset of a conventional - * zone was attempted. Nothing to worry about, so be - * quiet about the error. - */ - rq->rq_flags |= RQF_QUIET; - break; - - case REQ_OP_WRITE: - case REQ_OP_WRITE_ZEROES: - case REQ_OP_WRITE_SAME: - break; + if (req_op(rq) == REQ_OP_ZONE_RESET && + result && + sshdr->sense_key == ILLEGAL_REQUEST && + sshdr->asc == 0x24) { + /* + * INVALID FIELD IN CDB error: reset of a conventional + * zone was attempted. Nothing to worry about, so be + * quiet about the error. + */ + rq->rq_flags |= RQF_QUIET; } } -- 2.21.0
WARNING: multiple messages have this Message-ID (diff)
From: Damien Le Moal <damien.lemoal@wdc.com> To: linux-block@vger.kernel.org, Jens Axboe <axboe@kernel.dk>, linux-scsi@vger.kernel.org, "Martin K . Petersen" <martin.petersen@oracle.com>, dm-devel@redhat.com, Mike Snitzer <snitzer@redhat.com> Cc: Dmitry Fomichev <dmitry.fomichev@wdc.com>, Keith Busch <kbusch@kernel.org>, Hans Holmberg <Hans.Holmberg@wdc.com>, Ajay Joshi <ajay.joshi@wdc.com>, Matias Bjorling <matias.bjorling@wdc.com> Subject: [PATCH 3/8] scsi: sd_zbc: Fix sd_zbc_complete() Date: Sun, 27 Oct 2019 23:05:44 +0900 [thread overview] Message-ID: <20191027140549.26272-4-damien.lemoal@wdc.com> (raw) In-Reply-To: <20191027140549.26272-1-damien.lemoal@wdc.com> The ILLEGAL REQUEST/INVALID FIELD IN CDB error generated by an attempt to reset a conventional zone does not apply to the reset write pointer command with the ALL bit set, that is, to REQ_OP_ZONE_RESET_ALL requests. Fix sd_zbc_complete() to be quiet only in the case of REQ_OP_ZONE_RESET, excluding REQ_OP_ZONE_RESET_ALL. Since REQ_OP_ZONE_RESET is the only request handled by sd_zbc_complete(), also simplify the code using a simple if statement. Fixes: d81e9d494354 ("scsi: implement REQ_OP_ZONE_RESET_ALL") Cc: stable@vger.kernel.org Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com> --- drivers/scsi/sd_zbc.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/drivers/scsi/sd_zbc.c b/drivers/scsi/sd_zbc.c index de4019dc0f0b..1efc69e194f8 100644 --- a/drivers/scsi/sd_zbc.c +++ b/drivers/scsi/sd_zbc.c @@ -263,25 +263,16 @@ void sd_zbc_complete(struct scsi_cmnd *cmd, unsigned int good_bytes, int result = cmd->result; struct request *rq = cmd->request; - switch (req_op(rq)) { - case REQ_OP_ZONE_RESET: - case REQ_OP_ZONE_RESET_ALL: - - if (result && - sshdr->sense_key == ILLEGAL_REQUEST && - sshdr->asc == 0x24) - /* - * INVALID FIELD IN CDB error: reset of a conventional - * zone was attempted. Nothing to worry about, so be - * quiet about the error. - */ - rq->rq_flags |= RQF_QUIET; - break; - - case REQ_OP_WRITE: - case REQ_OP_WRITE_ZEROES: - case REQ_OP_WRITE_SAME: - break; + if (req_op(rq) == REQ_OP_ZONE_RESET && + result && + sshdr->sense_key == ILLEGAL_REQUEST && + sshdr->asc == 0x24) { + /* + * INVALID FIELD IN CDB error: reset of a conventional + * zone was attempted. Nothing to worry about, so be + * quiet about the error. + */ + rq->rq_flags |= RQF_QUIET; } } -- 2.21.0
next prev parent reply other threads:[~2019-10-27 14:05 UTC|newest] Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-27 14:05 [PATCH 0/8] Zone management commands support Damien Le Moal 2019-10-27 14:05 ` Damien Le Moal 2019-10-27 14:05 ` [PATCH 1/8] block: Remove REQ_OP_ZONE_RESET plugging Damien Le Moal 2019-10-27 14:05 ` Damien Le Moal 2019-10-28 7:50 ` Chaitanya Kulkarni 2019-10-28 7:50 ` Chaitanya Kulkarni 2019-10-29 12:13 ` Javier González 2019-10-29 12:13 ` Javier González 2019-11-07 9:50 ` Christoph Hellwig 2019-11-07 9:50 ` Christoph Hellwig 2019-10-27 14:05 ` [PATCH 2/8] block: Simplify REQ_OP_ZONE_RESET_ALL handling Damien Le Moal 2019-10-27 14:05 ` Damien Le Moal 2019-10-28 7:49 ` Chaitanya Kulkarni 2019-10-28 7:49 ` Chaitanya Kulkarni 2019-10-28 7:54 ` Damien Le Moal 2019-10-28 7:54 ` Damien Le Moal 2019-10-28 8:37 ` Chaitanya Kulkarni 2019-10-28 8:37 ` Chaitanya Kulkarni 2019-11-07 9:51 ` Christoph Hellwig 2019-11-07 9:51 ` Christoph Hellwig 2019-10-27 14:05 ` Damien Le Moal [this message] 2019-10-27 14:05 ` [PATCH 3/8] scsi: sd_zbc: Fix sd_zbc_complete() Damien Le Moal 2019-11-02 0:42 ` Martin K. Petersen 2019-11-02 0:42 ` Martin K. Petersen 2019-10-27 14:05 ` [PATCH 4/8] block: add zone open, close and finish operations Damien Le Moal 2019-10-27 14:05 ` Damien Le Moal 2019-10-29 12:23 ` Javier González 2019-10-29 12:23 ` Javier González 2019-11-07 9:52 ` Christoph Hellwig 2019-11-07 9:52 ` Christoph Hellwig 2019-10-27 14:05 ` [PATCH 5/8] block: add zone open, close and finish ioctl support Damien Le Moal 2019-10-27 14:05 ` Damien Le Moal 2019-10-29 12:23 ` Javier González 2019-10-29 12:23 ` Javier González 2019-11-07 9:52 ` Christoph Hellwig 2019-11-07 9:52 ` Christoph Hellwig 2019-10-27 14:05 ` [PATCH 6/8] scsi: sd_zbc: add zone open, close, and finish support Damien Le Moal 2019-10-27 14:05 ` Damien Le Moal 2019-11-02 0:43 ` Martin K. Petersen 2019-11-02 0:43 ` Martin K. Petersen 2019-11-07 9:53 ` Christoph Hellwig 2019-11-07 9:53 ` Christoph Hellwig 2019-10-27 14:05 ` [PATCH 7/8] dm: add zone open, close " Damien Le Moal 2019-10-27 14:05 ` Damien Le Moal 2019-11-05 16:34 ` Mike Snitzer 2019-11-05 16:34 ` Mike Snitzer 2019-11-07 9:53 ` Christoph Hellwig 2019-11-07 9:53 ` Christoph Hellwig 2019-10-27 14:05 ` [PATCH 8/8] null_blk: add zone open, close, " Damien Le Moal 2019-10-27 14:05 ` Damien Le Moal 2019-11-07 9:54 ` Christoph Hellwig 2019-11-07 9:54 ` Christoph Hellwig 2019-11-02 3:01 ` [PATCH 0/8] Zone management commands support Jens Axboe 2019-11-02 3:01 ` Jens Axboe 2019-11-03 23:41 ` Damien Le Moal 2019-11-03 23:41 ` Damien Le Moal 2019-11-05 4:51 ` Martin K. Petersen 2019-11-05 4:51 ` Martin K. Petersen 2019-11-05 5:08 ` Damien Le Moal 2019-11-05 5:08 ` Damien Le Moal 2019-11-07 13:40 ` Jens Axboe 2019-11-07 13:40 ` Jens Axboe
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=20191027140549.26272-4-damien.lemoal@wdc.com \ --to=damien.lemoal@wdc.com \ --cc=Hans.Holmberg@wdc.com \ --cc=ajay.joshi@wdc.com \ --cc=axboe@kernel.dk \ --cc=dm-devel@redhat.com \ --cc=dmitry.fomichev@wdc.com \ --cc=kbusch@kernel.org \ --cc=linux-block@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=martin.petersen@oracle.com \ --cc=matias.bjorling@wdc.com \ --cc=snitzer@redhat.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: linkBe 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.