[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/37] scsi-disk: support setting CD-ROM block size via device opt
From: |
Paolo Bonzini |
Subject: |
[PULL 01/37] scsi-disk: support setting CD-ROM block size via device options |
Date: |
Tue, 11 Oct 2022 12:26:24 +0200 |
From: John Millikin <john@john-millikin.com>
SunOS expects CD-ROM devices to have a block size of 512, and will
fail to mount or install using QEMU's default block size of 2048.
When initializing the SCSI device, allow the `physical_block_size'
block device option to override the default block size.
Signed-off-by: John Millikin <john@john-millikin.com>
Message-Id: <20220804122950.1577012-1-john@john-millikin.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/scsi/scsi-disk.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index 399e1787ea..e493c28814 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -2544,6 +2544,7 @@ static void scsi_cd_realize(SCSIDevice *dev, Error **errp)
SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev);
AioContext *ctx;
int ret;
+ uint32_t blocksize = 2048;
if (!dev->conf.blk) {
/* Anonymous BlockBackend for an empty drive. As we put it into
@@ -2553,9 +2554,13 @@ static void scsi_cd_realize(SCSIDevice *dev, Error
**errp)
assert(ret == 0);
}
+ if (dev->conf.physical_block_size != 0) {
+ blocksize = dev->conf.physical_block_size;
+ }
+
ctx = blk_get_aio_context(dev->conf.blk);
aio_context_acquire(ctx);
- s->qdev.blocksize = 2048;
+ s->qdev.blocksize = blocksize;
s->qdev.type = TYPE_ROM;
s->features |= 1 << SCSI_DISK_F_REMOVABLE;
if (!s->product) {
--
2.37.3
- [PULL 00/37] SCSI, i386 patches for 2022-10-11, Paolo Bonzini, 2022/10/11
- [PULL 01/37] scsi-disk: support setting CD-ROM block size via device options,
Paolo Bonzini <=
- [PULL 02/37] i386: kvm: extend kvm_{get, put}_vcpu_events to support pending triple fault, Paolo Bonzini, 2022/10/11
- [PULL 03/37] kvm: allow target-specific accelerator properties, Paolo Bonzini, 2022/10/11
- [PULL 04/37] kvm: expose struct KVMState, Paolo Bonzini, 2022/10/11
- [PULL 05/37] i386: add notify VM exit support, Paolo Bonzini, 2022/10/11
- [PULL 10/37] target/i386: Create gen_update_eip_cur, Paolo Bonzini, 2022/10/11
- [PULL 06/37] target/i386: Remove pc_start, Paolo Bonzini, 2022/10/11
- [PULL 08/37] target/i386: Remove cur_eip argument to gen_exception, Paolo Bonzini, 2022/10/11
- [PULL 11/37] target/i386: Create gen_update_eip_next, Paolo Bonzini, 2022/10/11
- [PULL 09/37] target/i386: Remove cur_eip, next_eip arguments to gen_interrupt, Paolo Bonzini, 2022/10/11
- [PULL 14/37] target/i386: Use DISAS_EOB_NEXT, Paolo Bonzini, 2022/10/11