qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] scsi-disk: support setting CD-ROM block size via device opti


From: Mark Cave-Ayland
Subject: Re: [PATCH] scsi-disk: support setting CD-ROM block size via device options.
Date: Thu, 4 Aug 2022 09:06:28 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0

On 01/08/2022 12:08, John Millikin wrote:

Gentle ping -- this is my first time sending a patch for QEMU and it
hasn't shown up in the qemu-devel mailing list web UI yet, so I can't
tell whether the mail is being sent/received successfully.

On Tue, Jul 26, 2022 at 12:42:06PM +0900, John Millikin wrote:
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_device'
block device option to override the default block size.

Signed-off-by: John Millikin <john@john-millikin.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 f5cdb9ad4b..acdf8dc05c 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -2533,6 +2533,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
@@ -2542,9 +2543,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.25.1

Hi John,

I saw this reply but didn't see the original patch - were you subscribed to the list before you first sent it? If not, it may be that it got caught in a moderation queue somewhere.

The CC email addresses look right, but do bear in mind that people are busy as the 7.1 release is just around the corner and so may not get to your patch right away.

The reason your patch caught my eye is that I've been having a similar discussion on Gitlab at https://gitlab.com/qemu-project/qemu/-/issues/1127. Could you check your git send-email configuration and then try and resend your patch to see if it appears on the list?


ATB,

Mark.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]