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
