That's only modifying the volblocksize of the underlying zvol. Getting QEMU
to advertise a different blocksize might be trickier which is probably
what's necessary.
I found reference to "-global ide-drive.physical_block_size=4096" in
http://wiki.qemu.org/download/qemu-doc.html#sec_005finvocation

After a bunch of digging I ran the following two commands and got the
output as shown:

# /smartdc/bin/qemu-system-x86_64 -device ? 2>&1 | grep -i virtio
name "virtio-balloon-pci", bus PCI
name "virtio-serial-pci", bus PCI, alias "virtio-serial"
name "virtio-net-pci", bus PCI
name "virtio-blk-pci", bus PCI, alias "virtio-blk"
name "virtconsole", bus virtio-serial-bus
name "virtserialport", bus virtio-serial-bus
# /smartdc/bin/qemu-system-x86_64 -device virtio-blk-pci,? 2>&1 | grep
block_size
virtio-blk-pci.logical_block_size=uint16
virtio-blk-pci.physical_block_size=uint16

So I think you should be able to set "qemu_extra_opts" to e.g.
"-global virtio-blk-pci.physical_block_size=8192
-global virtio-blk-pci.logical_block_size=4096" to test tweaking those
values.

Good luck!
-Nahum


On Mon, Jan 30, 2017 at 12:11 PM, Youzhong Yang <[email protected]> wrote:

> Thanks, it works.
>
> However, I am having difficulty setting the block size to anything other
> than 512:
>
> vmadm tells the block size is 8192,
>
> # vmadm get b175850d-92fd-cf81-d352-90d40e5076ce |json disks
> [
>   {
>     "path": "/dev/zvol/rdsk/zones/b175850d-92fd-cf81-d352-
> 90d40e5076ce-disk1",
>     "boot": false,
>     "model": "virtio",
>     "media": "disk",
>     "zfs_filesystem": "zones/b175850d-92fd-cf81-d352-90d40e5076ce-disk1",
>     "zpool": "zones",
>     "size": 65536,
>     "compression": "on",
>     "refreservation": 65536,
>     "block_size": 8192
>   }
> ]
>
> but inside the VM, it says the block size is 512:
>
> > ffffff03d8df9700::print -t struct vioblk_softc sc_virtio.sc_features
> sc_blk_size sc_pblk_size
> uint32_t sc_virtio.sc_features = 0x10000454
> int sc_blk_size = 0x200
> int sc_pblk_size = 0x200
>
> Quite confused ..
>
> Any thoughts?
>
> Thanks,
>
> --Youzhong
>
>
>
> On Mon, Jan 30, 2017 at 10:10 AM, Nahum Shalman <[email protected]>
> wrote:
>
>> You can also create a SmartOS KVM VM on a SmartOS machine with a virtio
>> virtual disk.
>>
>> -Nahum
>>
>> On Mon, Jan 30, 2017 at 9:38 AM, Youzhong Yang <[email protected]>
>> wrote:
>>
>>> Hi All,
>>>
>>> A quick question - how can I make use of vioblk device driver? Creating
>>> a SmartOS VM using Linux KVM?
>>>
>>> The reason I am asking this is that I want to test a change in blkdev,
>>> to exercise some code path in it which can't be done using NVMe devices,
>>> such as the 'dump' functionality.
>>>
>>> Thanks,
>>>
>>> Youzhong
>>>
>>>
>>
> *smartos-discuss* | Archives
> <https://www.listbox.com/member/archive/184463/=now>
> <https://www.listbox.com/member/archive/rss/184463/28443469-fb954443> |
> Modify
> <https://www.listbox.com/member/?&;>
> Your Subscription <http://www.listbox.com>
>



-------------------------------------------
smartos-discuss
Archives: https://www.listbox.com/member/archive/184463/=now
RSS Feed: https://www.listbox.com/member/archive/rss/184463/25769125-55cfbc00
Modify Your Subscription: 
https://www.listbox.com/member/?member_id=25769125&id_secret=25769125-7688e9fb
Powered by Listbox: http://www.listbox.com

Reply via email to