Re: [Qemu-devel] [PATCH 20/35] scsi-disk: do not complete requests twice

2011-10-19 Thread Paolo Bonzini

On 10/13/2011 01:03 PM, Paolo Bonzini wrote:

When scsi_handle_rw_error reports a CHECK CONDITION code, the
owner should not call scsi_req_complete.

Signed-off-by: Paolo Bonzinipbonz...@redhat.com
---
  hw/scsi-disk.c |3 ++-
  1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index b041fd5..d4f773f 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -231,6 +231,7 @@ static int scsi_handle_rw_error(SCSIDiskReq *r, int error, 
int type)
  bdrv_mon_event(s-bs, BDRV_ACTION_STOP, is_read);
  vm_stop(RUN_STATE_IO_ERROR);
  bdrv_iostatus_set_err(s-bs, error);
+return 1;
  } else {
  switch (error) {
  case ENOMEDIUM:
@@ -247,8 +248,8 @@ static int scsi_handle_rw_error(SCSIDiskReq *r, int error, 
int type)
  break;
  }
  bdrv_mon_event(s-bs, BDRV_ACTION_REPORT, is_read);
+return 0;
  }
-return 1;
  }

  static void scsi_write_complete(void * opaque, int ret)


Kevin mentioned on IRC that this patch is bogus, and I agreed.

Paolo



[Qemu-devel] [PATCH 20/35] scsi-disk: do not complete requests twice

2011-10-13 Thread Paolo Bonzini
When scsi_handle_rw_error reports a CHECK CONDITION code, the
owner should not call scsi_req_complete.

Signed-off-by: Paolo Bonzini pbonz...@redhat.com
---
 hw/scsi-disk.c |3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index b041fd5..d4f773f 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -231,6 +231,7 @@ static int scsi_handle_rw_error(SCSIDiskReq *r, int error, 
int type)
 bdrv_mon_event(s-bs, BDRV_ACTION_STOP, is_read);
 vm_stop(RUN_STATE_IO_ERROR);
 bdrv_iostatus_set_err(s-bs, error);
+return 1;
 } else {
 switch (error) {
 case ENOMEDIUM:
@@ -247,8 +248,8 @@ static int scsi_handle_rw_error(SCSIDiskReq *r, int error, 
int type)
 break;
 }
 bdrv_mon_event(s-bs, BDRV_ACTION_REPORT, is_read);
+return 0;
 }
-return 1;
 }
 
 static void scsi_write_complete(void * opaque, int ret)
-- 
1.7.6