Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Slowroll:Build:1
virt-manager
virtman-fix-shared-disk-request-alignment-error...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File virtman-fix-shared-disk-request-alignment-error.patch of Package virt-manager
References: bsc#1207070 When creating a raw disk that is marked as 'shared', libvirt will round the allocation amount higher to a 4k boundary. This results in the qemu error shown below passed back to libvirt. Note that only raw disks can be marked shared (not qcow2) but the rounding should not harm qcow2 disks. libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2023-01-19T21:40:28.507063Z qemu-system-x86_64: -device {"driver":"virtio-blk-pci","bus":"pci.8","addr":"0x0","share-rw":true,"drive":"libvirt-1-format","id":"virtio-disk1","write-cache":"on"}: Cannot get 'write' permission without 'resize': Image size is not a multiple of request alignment Index: virt-manager-4.1.0/virtManager/createvol.py =================================================================== --- virt-manager-4.1.0.orig/virtManager/createvol.py +++ virt-manager-4.1.0/virtManager/createvol.py @@ -248,7 +248,13 @@ class vmmCreateVolume(vmmGObjectUI): vol = self._make_stub_vol() vol.name = volname vol.capacity = (cap * 1024 * 1024 * 1024) + if vol.capacity: + # If a raw disk is marked 'shared', round up for libvirt + vol.capacity -= vol.capacity % -4096 vol.allocation = (alloc * 1024 * 1024 * 1024) + if vol.allocation: + vol.allocation -= vol.allocation % -4096 + if backing: vol.backing_store = backing if fmt: Index: virt-manager-4.1.0/virtinst/devices/disk.py =================================================================== --- virt-manager-4.1.0.orig/virtinst/devices/disk.py +++ virt-manager-4.1.0/virtinst/devices/disk.py @@ -361,6 +361,9 @@ class DeviceDisk(Device): volname, poolobj.name()) cap = (size * 1024 * 1024 * 1024) + if cap: + # If a raw disk is marked 'shared', round up for libvirt + cap -= cap % -4096 if sparse: alloc = 0 else:
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor