Re: [Qemu-devel] [PATCH] scsi-disk: Improve error messager if can't get version number

2014-04-28 Thread Paolo Bonzini

Il 16/04/2014 04:09, Fam Zheng ha scritto:

More often it is that bdrv_ioctl fails due to not supported by driver or
whatever reason, in this case we should be specific, because interface
too old is very confusing.

Signed-off-by: Fam Zheng f...@redhat.com
---
 hw/scsi/scsi-disk.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index 48a28ae..d2e532e 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -2463,8 +2463,13 @@ static int scsi_block_initfn(SCSIDevice *dev)
 }

 /* check we are using a driver managing SG_IO (version 3 and after) */
-if (bdrv_ioctl(s-qdev.conf.bs, SG_GET_VERSION_NUM, sg_version)  0 ||
-sg_version  3) {
+rc =  bdrv_ioctl(s-qdev.conf.bs, SG_GET_VERSION_NUM, sg_version);
+if (rc  0) {
+error_report(scsi-block: can not get version number: %s,
+ strerror(-rc));
+return -1;
+}
+if (sg_version  3) {
 error_report(scsi-block: scsi generic interface too old);
 return -1;
 }



Applied to scsi-next, thanks.

Paolo



Re: [Qemu-devel] [PATCH] scsi-disk: Improve error messager if can't get version number

2014-04-16 Thread Markus Armbruster
Fam Zheng f...@redhat.com writes:

 More often it is that bdrv_ioctl fails due to not supported by driver or
 whatever reason, in this case we should be specific, because interface
 too old is very confusing.

 Signed-off-by: Fam Zheng f...@redhat.com
 ---
  hw/scsi/scsi-disk.c | 9 +++--
  1 file changed, 7 insertions(+), 2 deletions(-)

 diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
 index 48a28ae..d2e532e 100644
 --- a/hw/scsi/scsi-disk.c
 +++ b/hw/scsi/scsi-disk.c
 @@ -2463,8 +2463,13 @@ static int scsi_block_initfn(SCSIDevice *dev)
  }
  
  /* check we are using a driver managing SG_IO (version 3 and after) */
 -if (bdrv_ioctl(s-qdev.conf.bs, SG_GET_VERSION_NUM, sg_version)  0 ||
 -sg_version  3) {
 +rc =  bdrv_ioctl(s-qdev.conf.bs, SG_GET_VERSION_NUM, sg_version);
 +if (rc  0) {
 +error_report(scsi-block: can not get version number: %s,
 + strerror(-rc));
 +return -1;
 +}
 +if (sg_version  3) {
  error_report(scsi-block: scsi generic interface too old);
  return -1;
  }

Reviewed-by: Markus Armbruster arm...@redhat.com