The property default values from include/hw/block/block.h were
duplicated in scsi_bus_legacy_handle_cmdline(), allowing them to go out
of sync easily. There doesn't seem a good way to avoid the duplication,
but moving them next to each other in the header file should help to
avoid this problem in the future.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
include/hw/block/block.h | 7 +++++++
hw/scsi/scsi-bus.c | 7 +------
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/include/hw/block/block.h b/include/hw/block/block.h
index 7dc19d8a453..e0a427039ee 100644
--- a/include/hw/block/block.h
+++ b/include/hw/block/block.h
@@ -51,6 +51,13 @@ static inline unsigned int get_physical_block_exp(BlockConf *conf)
return exp;
}
+#define DEFAULT_BLOCK_CONF (BlockConf) { \
+ .bootindex = -1, \
+ .share_rw = false, \
+ .rerror = BLOCKDEV_ON_ERROR_AUTO, \
+ .werror = BLOCKDEV_ON_ERROR_AUTO, \
+}
+
#define DEFINE_BLOCK_PROPERTIES_BASE(_state, _conf) \
DEFINE_PROP_ON_OFF_AUTO("backend_defaults", _state, \
_conf.backend_defaults, ON_OFF_AUTO_AUTO), \
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index 1a6b181b9d6..dccb2f25b2a 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -485,12 +485,7 @@ void scsi_bus_legacy_handle_cmdline(SCSIBus *bus)
Location loc;
DriveInfo *dinfo;
int unit;
- BlockConf conf = {
- .bootindex = -1,
- .share_rw = false,
- .rerror = BLOCKDEV_ON_ERROR_AUTO,
- .werror = BLOCKDEV_ON_ERROR_AUTO,
- };
+ BlockConf conf = DEFAULT_BLOCK_CONF;
loc_push_none(&loc);
for (unit = 0; unit <= bus->info->max_target; unit++) {
--
2.53.0