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
