bdrv_check_perm is the qemu function that emits the message.

Qemu runs as # id 64055
uid=64055(libvirt-qemu) gid=115(kvm) groups=115(kvm),64055(libvirt-qemu)

The images are made root:root by qemu itself.
I made them, but it is not the classic file ownership that is missing:
-rw-rw-rw- 1 libvirt-qemu kvm    458752 Apr 17 08:44 
/var/lib/uvtool/libvirt/images/kvmguest-bionic-normal-ds.qcow
-rw-rw-rw- 1 libvirt-qemu kvm 226361344 Apr 17 10:45 
/var/lib/uvtool/libvirt/images/kvmguest-bionic-normal.qcow

I see one EAGAIN and eventually one EPERM in (only the EPERM):
Thread 1 "qemu-system-x86" hit Breakpoint 1, bdrv_check_perm 
(bs=bs@entry=0x556a76be7150, q=q@entry=0x0, cumulative_perms=3, 
    cumulative_shared_perms=23, ignore_children=ignore_children@entry=0x0, 
errp=errp@entry=0x7ffd515f59b8) at ./block.c:1636
1636    in ./block.c
(gdb) p *bs
$12 = {open_flags = 10242, read_only = false, encrypted = false, sg = false, 
probed = false, force_share = false, implicit = false, 
  drv = 0x556a74c48be0 <bdrv_qcow2>, opaque = 0x556a76bf1fd0, aio_context = 
0x556a76bbe1e0, aio_notifiers = {lh_first = 0x0}, 
  walking_aio_notifiers = false, filename = 
"/var/lib/uvtool/libvirt/images/kvmguest-bionic-normal.qcow", '\000' <repeats 
4037 times>, 
  backing_file = 
"/var/lib/uvtool/libvirt/images/x-uvt-b64-Y29tLnVidW50dS5jbG91ZC5kYWlseTpzZXJ2ZXI6MTguMDQ6YW1kNjQgMjAxODA0MTY=",
 '\000' <repeats 3986 times>, backing_format = 
"qcow2\000\000\000\000\000\000\000\000\000\000", full_open_options = 
0x556a76c0b510, 
  exact_filename = 
"/var/lib/uvtool/libvirt/images/kvmguest-bionic-normal.qcow", '\000' <repeats 
4037 times>, backing = 0x556a76ba4a00, 
  file = 0x556a76ba3e00, bl = {request_alignment = 1, max_pdiscard = 0, 
pdiscard_alignment = 65536, max_pwrite_zeroes = 0, 
    pwrite_zeroes_alignment = 65536, opt_transfer = 0, max_transfer = 0, 
min_mem_alignment = 1, opt_mem_alignment = 4096, max_iov = 1024}, 
  supported_write_flags = 0, supported_zero_flags = 4, node_name = "#block144", 
'\000' <repeats 22 times>, node_list = {
    tqe_next = 0x556a76c0d550, tqe_prev = 0x556a76bf07b0}, bs_list = {tqe_next 
= 0x556a76bed6f0, tqe_prev = 0x556a74c46990 <all_bdrv_states>}, 
  monitor_list = {tqe_next = 0x0, tqe_prev = 0x0}, refcnt = 1, op_blockers = 
{{lh_first = 0x0} <repeats 16 times>}, job = 0x0, 
  inherits_from = 0x0, children = {lh_first = 0x556a76ba4a00}, parents = 
{lh_first = 0x556a76b8d600}, options = 0x556a76be4970, 
  explicit_options = 0x556a76bea3f0, detect_zeroes = 
BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF, backing_blocker = 0x556a76c12de0, 
  total_sectors = 16777216, before_write_notifiers = {notifiers = {lh_first = 
0x0}}, write_threshold_offset = 0, write_threshold_notifier = {
    notify = 0x0, node = {le_next = 0x0, le_prev = 0x0}}, dirty_bitmap_mutex = 
{lock = {__data = {__lock = 0, __count = 0, __owner = 0, 
        __nusers = 0, __kind = 0, __spins = 0, __elision = 0, __list = {__prev 
= 0x0, __next = 0x0}}, __size = '\000' <repeats 39 times>, 
      __align = 0}, initialized = true}, dirty_bitmaps = {lh_first = 0x0}, 
wr_highest_offset = {value = 0}, copy_on_read = 0, in_flight = 0, 
  serialising_in_flight = 0, wakeup = false, io_plugged = 0, enable_write_cache 
= 0, quiesce_counter = 0, write_gen = 0, reqs_lock = {
    locked = 0, ctx = 0x0, from_push = {slh_first = 0x0}, to_pop = {slh_first = 
0x0}, handoff = 0, sequence = 0, holder = 0x0}, 
  tracked_requests = {lh_first = 0x0}, flush_queue = {entries = {sqh_first = 
0x0, sqh_last = 0x556a76bea3d0}}, active_flush_req = false, 
  flushed_gen = 0}
(gdb) fin
Run till exit from #0  bdrv_check_perm (bs=bs@entry=0x556a76be7150, 
q=q@entry=0x0, cumulative_perms=3, cumulative_shared_perms=23, 
    ignore_children=ignore_children@entry=0x0, errp=errp@entry=0x7ffd515f59b8) 
at ./block.c:1636
bdrv_root_attach_child (child_bs=child_bs@entry=0x556a76be7150, 
child_name=child_name@entry=0x556a746dfae2 "root", 
    child_role=child_role@entry=0x556a74bdcb80 <child_root>, perm=3, 
shared_perm=23, opaque=opaque@entry=0x556a76deb480, errp=0x7ffd515f59b8)
    at ./block.c:2042
2042    in ./block.c
Value returned is $13 = -1
(gdb) c
Continuing.

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

Title:
  copy-storage migrations fail on nbd-server-add

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

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

Reply via email to