Only setting: "qemu_extra_opts": "-global virtio-blk-pci.physical_block_size=4096" appeared to work. diskinfo reported the correct size, creating a pool on it succeeded, and it had an ashift of 12.
Not sure where that will leave you. -Nahum On Mon, Jan 30, 2017 at 2:30 PM, Nahum Shalman <[email protected]> wrote: > 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-d >>> isk1", >>> "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
