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 <[email protected]> Message-ID: <[email protected]> Signed-off-by: Kevin Wolf <[email protected]> --- 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.54.0
