Patchwork [v4,20/24] scsi-generic: Handle queue full

login
register
mail settings
Submitter Paolo Bonzini
Date May 23, 2011, 4:09 p.m.
Message ID <1306166949-19698-21-git-send-email-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/96999/
State New
Headers show

Comments

Paolo Bonzini - May 23, 2011, 4:09 p.m.
The sg driver currently has a hardcoded limit of commands it
can handle simultaneously. When this limit is reached the
driver will return -EDOM. So we need to capture this to
enable proper return values here.

Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
---
 hw/scsi-generic.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

Patch

diff --git a/hw/scsi-generic.c b/hw/scsi-generic.c
index 53114e5..30845c5 100644
--- a/hw/scsi-generic.c
+++ b/hw/scsi-generic.c
@@ -123,6 +123,9 @@  static void scsi_command_complete(void *opaque, int ret)
 
     if (ret != 0) {
         switch (ret) {
+        case -EDOM:
+            r->req.status = TASK_SET_FULL;
+            break;
         case -EINVAL:
             r->req.status = CHECK_CONDITION;
             scsi_set_sense(s, SENSE_CODE(INVALID_FIELD));