block: Add more defaults to DEFAULT_BLOCK_CONF

discard_granularity was missing from this, which means that SCSI disks
created with -drive if=scsi would default to 0 (i.e. disabling discards)
instead of -1, which makes scsi-hd automatically pick a granularity and
is the default of the corresponding qdev property for -device scsi-hd.

This was broken in QEMU 9.0 with commit 3089637.

Also set other fields whose default isn't an obvious 0. These are not
actual bug fixes because ON_OFF_AUTO_AUTO in fact happens to be 0, but
it's better not to rely on the order of enums.

Cc: qemu-stable@nongnu.org
Fixes: 3089637461 ('scsi: Don't ignore most usb-storage properties')
Reported-by: Lexi Winter <ivy@FreeBSD.org>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20260410152314.86412-3-kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Kevin Wolf
2026-04-10 17:23:14 +02:00
parent a1310cc628
commit f27aea1896

View File

@@ -53,7 +53,12 @@ static inline unsigned int get_physical_block_exp(BlockConf *conf)
#define DEFAULT_BLOCK_CONF (BlockConf) { \
.bootindex = -1, \
.backend_defaults = ON_OFF_AUTO_AUTO, \
.discard_granularity = -1, \
.wce = ON_OFF_AUTO_AUTO, \
.share_rw = false, \
.account_invalid = ON_OFF_AUTO_AUTO, \
.account_failed = ON_OFF_AUTO_AUTO, \
.rerror = BLOCKDEV_ON_ERROR_AUTO, \
.werror = BLOCKDEV_ON_ERROR_AUTO, \
}