I wonder if I've just stumbled on a bug. I provisioned a VM with a zvol of
8GB, and with those qemu_extra_opts, but "diskinfo" thinks the disk is 64GB
in size...
I don't know the full mdb-fu you used to find that address and dump out
those properties.

Something seems a little fishy here.
-Nahum

On Mon, Jan 30, 2017 at 2:07 PM, Nahum Shalman <[email protected]> wrote:

> 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