Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:GA
qemu.26277
scsi-generic-check-for-additional-SG_IO-.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File scsi-generic-check-for-additional-SG_IO-.patch of Package qemu.26277
From: Hannes Reinecke <hare@suse.de> Date: Wed, 11 Nov 2020 15:40:52 +0100 Subject: scsi-generic: check for additional SG_IO status on completion References: bsc#1178049,bsc#1194938 SG_IO may return additional status in the 'status', 'driver_status', and 'host_status' fields. When either of these fields are set the command has not been executed normally, so we should not continue processing this command but rather return an error. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Lin Ma <lma@suse.com> --- hw/scsi/scsi-generic.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/hw/scsi/scsi-generic.c b/hw/scsi/scsi-generic.c index 63b13e80d819c7cbf9ed44675267..5f5ed726f9d3deaabb747aa18848 100644 --- a/hw/scsi/scsi-generic.c +++ b/hw/scsi/scsi-generic.c @@ -257,7 +257,10 @@ static void scsi_read_complete(void * opaque, int ret) aio_context_acquire(blk_get_aio_context(s->conf.blk)); - if (ret || r->req.io_canceled) { + if (ret || r->req.io_canceled || + r->io_header.status || + r->io_header.driver_status || + r->io_header.host_status) { scsi_command_complete_noio(r, ret); goto done; } @@ -372,7 +375,10 @@ static void scsi_write_complete(void * opaque, int ret) aio_context_acquire(blk_get_aio_context(s->conf.blk)); - if (ret || r->req.io_canceled) { + if (ret || r->req.io_canceled || + r->io_header.status || + r->io_header.driver_status || + r->io_header.host_status) { scsi_command_complete_noio(r, ret); goto done; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor