Re: [Qemu-devel] [PATCH] scsi-disk: Improve error messager if can't get version number
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
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