Hi!

I wanted to experiment with sector size = 4096, to see how an OS
reacts.  And naturally, the first instinct is to try it in qemu.
But it turned to be.. difficult.

First, there's no documentation.  But I remember seeing properties
of ide-hd device, like physical_sector_size etc.  Ok.

 $ qemu-img create -f raw img 32G

 $ kvm -machine q35 -drive file=img,format=raw,if=none,id=d \
   -device ide-hd,drive=d,physical_sector_size=4096

This way, the guest see size of the drive as 0.  This is obviously
not right (tm).

Okay, lets try full 4096 sectors:

   -device ide-hd,drive=d,physical_sector_size=4096,logical_sector_size=4096

This fails:

   discard_granularity must be a multiple of logical_block_size

Let's adjust discard_granularity (I think it'd be good if qemu does
this based on physical_sector_size already):

   -device 
ide-hd,drive=d,physical_sector_size=4096,logical_sector_size=4096,discard_granularity=0

This fails:

  logical_block_size must be 512 for IDE

Huh? Should the tell all the sata Advanced-Format (AF) drives manufacturers
their drives does not exist, or what? :)


Ok.  Tried the same with nvme.  There, sector sizes seems to be entirely
ignored, - no matter which values I choose, guest always see them as
512.


What's the proper way to run guest with 4096-byte sector size in qemu?

Thanks,

/mjt

Reply via email to