sorry, if it was not as clear as it should be...
the assignment you describe is done until old_allocs is NULL (well the
asm-test checks against zero, I've not looked at the macrodef of
QLIST_FOREACH), but in this special case old_allocs points to address
"foobar" *and* old_allocs->next_in_flight.le_next points to same address
"foobar", too, so it will never become NULL and will endless loop...
gdb shows this:
777 QLIST_FOREACH(old_alloc, &s->cluster_allocs, next_in_flight) {
779 uint64_t end_offset = offset + nb_clusters * s->cluster_size;
780 uint64_t old_offset = old_alloc->offset;
779 uint64_t end_offset = offset + nb_clusters * s->cluster_size;
784 if (end_offset < old_offset || offset > old_end_offset) {
782 old_alloc->nb_clusters * s->cluster_size;
781 uint64_t old_end_offset = old_alloc->offset +
784 if (end_offset < old_offset || offset > old_end_offset) {
777 QLIST_FOREACH(old_alloc, &s->cluster_allocs, next_in_flight) {
(gdb) print old_alloc
$1 = (QCowL2Meta *) 0x34cb7a0
(gdb) print old_alloc->next_in_flight.le_next
$2 = (struct QCowL2Meta *) 0x34cb7a0
I've not analyzed, what is done within the loop, but there should be a point of
another break-possibility.
I've only understood, that there's something done to expand the allocation of
the qcow2-file, because of some needs within the guest.
because I don't know, how I created that certain disk, I've just started
another VM with a newly created disk. this is done via the
virt-manager-interface of libvirt. if this tool simply calls qemu-img or may
make some api-calls by it's own - I don't know, but if it's as important I'll
strace it.
the disk has a maximum of 32768MB with 0 pre-allocated.
qemu-img info say at the current loop (tried to install the soft again):
file format: qcow2
virtual size: 32G (34359738368 bytes)
disk size: 76M
cluster_size: 65536
if you want more output out of gdb, tell me. the VM currently hangs and
now gdb waits for commands...
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/917824
Title:
qemu loops/hangs on extending qcow2-diskspace
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/917824/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs