The SCSI Architecture Model defines a logical unit address
as 64-bits in length, so change the field accordingly so
that the entire value could be stored.
Signed-off-by: Eric Farman far...@linux.vnet.ibm.com
---
src/conf/domain_audit.c | 2 +-
src/conf/domain_conf.c | 4 ++--
src/conf/domain_conf.h | 2 +-
src/qemu/qemu_command.h | 2 +-
src/qemu/qemu_hotplug.c | 4 ++--
src/util/virhostdev.c | 6 +++---
src/util/virscsi.c | 16
src/util/virscsi.h | 8
tests/testutilsqemu.c | 2 +-
tools/virsh-domain.c| 6 +++---
10 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c
index c94cae8..e5d7e15 100644
--- a/src/conf/domain_audit.c
+++ b/src/conf/domain_audit.c
@@ -427,7 +427,7 @@ virDomainAuditHostdev(virDomainObjPtr vm,
virDomainHostdevDefPtr hostdev,
} else {
virDomainHostdevSubsysSCSIHostPtr scsihostsrc =
scsisrc-u.host;
-if (virAsprintfQuiet(address, %s:%d:%d:%u,
+if (virAsprintfQuiet(address, %s:%d:%d:%llu,
scsihostsrc-adapter, scsihostsrc-bus,
scsihostsrc-target,
scsihostsrc-unit) 0) {
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 7e3ca36..3f0f175 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -4954,7 +4954,7 @@ virDomainHostdevSubsysSCSIHostDefParseXML(xmlNodePtr
sourcenode,
goto cleanup;
}
-if (virStrToLong_uip(unit, NULL, 0, scsihostsrc-unit) 0) {
+if (virStrToLong_ullp(unit, NULL, 0, scsihostsrc-unit) 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_(cannot parse unit '%s'), unit);
goto cleanup;
@@ -18940,7 +18940,7 @@ virDomainHostdevDefFormatSubsys(virBufferPtr buf,
virBufferAsprintf(buf, adapter name='%s'/\n,
scsihostsrc-adapter);
virBufferAsprintf(buf,
- address %sbus='%d' target='%d' unit='%u'/\n,
+ address %sbus='%d' target='%d'
unit='%llu'/\n,
includeTypeInAddr ? type='scsi' : ,
scsihostsrc-bus, scsihostsrc-target,
scsihostsrc-unit);
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index ba17a8d..f677c2e 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -463,7 +463,7 @@ struct _virDomainHostdevSubsysSCSIHost {
char *adapter;
unsigned bus;
unsigned target;
-unsigned unit;
+unsigned long long unit;
};
typedef struct _virDomainHostdevSubsysSCSIiSCSI
virDomainHostdevSubsysSCSIiSCSI;
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index 0fc59a8..6e0c3a3 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -63,7 +63,7 @@ struct _qemuBuildCommandLineCallbacks {
const char *adapter,
unsigned int bus,
unsigned int target,
- unsigned int unit);
+ unsigned long long unit);
};
extern qemuBuildCommandLineCallbacks buildCommandLineCallbacks;
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 1d538a0..d5a40aa 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1938,7 +1938,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn,
} else {
virDomainHostdevSubsysSCSIHostPtr scsihostsrc = scsisrc-u.host;
virReportError(VIR_ERR_INTERNAL_ERROR,
- _(Unable to prepare scsi hostdev: %s:%d:%d:%u),
+ _(Unable to prepare scsi hostdev: %s:%d:%d:%llu),
scsihostsrc-adapter, scsihostsrc-bus,
scsihostsrc-target, scsihostsrc-unit);
}
@@ -3873,7 +3873,7 @@ int qemuDomainDetachHostDevice(virQEMUDriverPtr driver,
virDomainHostdevSubsysSCSIHostPtr scsihostsrc =
scsisrc-u.host;
virReportError(VIR_ERR_OPERATION_FAILED,
-_(host scsi device %s:%d:%d.%u not found),
+_(host scsi device %s:%d:%d.%llu not found),
scsihostsrc-adapter, scsihostsrc-bus,
scsihostsrc-target, scsihostsrc-unit);
}
diff --git a/src/util/virhostdev.c b/src/util/virhostdev.c
index ea0076c..aa06b4a 100644
--- a/src/util/virhostdev.c
+++ b/src/util/virhostdev.c
@@ -1482,7 +1482,7 @@ virHostdevReAttachSCSIHostDevices(virHostdevManagerPtr
hostdev_mgr,