[Libguestfs] Concurrent scanning of same disk

NoxDaFox noxdafox at gmail.com
Wed May 27 06:38:38 UTC 2015


Greetings,

I am suffering of several weird errors which show randomly and make me
suspect some concurrency issue.

Libguestfs version is 1.28.1, linux kernel 3.16, libvirt 1.2.9 and qemu 2.1.

What I'm trying to do is comparing the disk state at two different point of
a guest execution.
Disk snapshots are taken through libvirt in different moments (I am aware
of caching issue), from such snapshots, new disks are created using the
"qemu-img convert" command with backing file pointing to the disk being
executed.

Then, I spawn as many processes as disk images and in each process I create
an guestfs instance and mount one of the disks.

The operation seems successful as I'm gathering the data I am looking for
but I suffer from these random failures:

 * RuntimeError: file receive cancelled by daemon - On r =
libguestfsmod.checksums_out (self._o, csumtype, directory, sumsfile)
 * RuntimeError: hivex_close: do_hivex_close: you must call 'hivex-open'
first to initialize the hivex handle - On r = libguestfsmod.inspect_os
(self._o)

The random nature of the errors make me think about some concurrency
problem. The disk images are mounted read only, each process uses a new
guestfs instance and mount a different disk image. Only shared data is the
backing file.

Same code without backing image was running on a different server. I was
able to compare whole disks image created from snapshots of a running one.

Most probably I am doing something wrong but I can't figure out what.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20150527/f1159c0a/attachment.htm>


More information about the Libguestfs mailing list