Prep: get sources with apt-source or pull-lp-source
Prep: install gdb
Prep: install libvirt dbgsym packages

# Get a very minimal Testguest that keeps running:
$ qemu-img create /tmp/A.img 1M
cat <<EOF > testguest.xml
<domain type='kvm'>
        <name>testguest</name>
        <uuid>deadbeef-dead-beef-dead-beefdeadbeef</uuid>
        <memory unit='KiB'>1024</memory>
        <vcpu placement='static'>1</vcpu>
        <os>
                <type arch='x86_64' machine='pc-i440fx-zesty'>hvm</type>
                <boot dev='hd'/>
        </os>
        <features>                                                              
       
                <acpi/>                                                         
             
                <apic/>                                                         
             
                <pae/>                                                          
             
        </features>
        <devices>
                <emulator>/usr/bin/kvm-spice</emulator>
                <disk type='file' device='disk'>
                        <driver name='qemu'/>
                        <source file='/tmp/A.img'/>
                        <target dev='vda'/>
                </disk>
        </devices>
        <seclabel type='dynamic' model='apparmor' relabel='yes'/>
</domain>
EOF
$ virsh start testguest

# Get 
$ qemu-img create /tmp/B.img 1M
$ qemu-img create /tmp/F.img 1M
$ cat <<EOF >diskB.xml
<disk type='block'>
  <driver name='qemu'/>
  <source dev='/tmp/B.img'/>
  <target dev='sdb'/>
</disk>
EOF
$ cat <<EOF >diskF.xml
<disk type='file'>
  <driver name='qemu'/>
  <source file='/tmp/F.img'/>
  <target dev='sdc'/>
</disk>
EOF

Start a loop to attach (maybe there are better ways?)
$ PID=""; while [ -z "${PID}" ]; do PID=$(pgrep virt-aa-helper); done; sudo gdb 
-p ${PID}

Then attach soemthing:
$ virsh attach-device testguest diskF.xml

We don't care too much on the actual result, so just restart in gdb with "run" 
to debug, but add the same args that libvirt used (e.g. from proc).
That would be e.g.:
run -p 0 -r -u libvirt-deadbeef-dead-beef-dead-beefdeadbeef -f /tmp/F.img

Here already the alternate path becomes more clear.
It does not use the profile XML, but instead the -f flag.

And this misses the qemu >=2.10 compat to allow locking the files.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1726804

Title:
  rules for images on attach-device not containing lock permission

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1726804/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to