[Pkg-xen-devel] Bug#770456: Bug#770456: Please start a qemu process in domain 0.

Stefan Bader stefan.bader at canonical.com
Thu Nov 27 10:02:44 UTC 2014


On 21.11.2014 13:50, Ian Campbell wrote:
> Package: xen-utils-common
> Version: 4.4.0-1
> Severity: important
> Tags: patch
> 
> Under some circumstances the xl toolstack needs to create a loopback
> mount of a guest disk in dom0 (e.g. in order to run pygrub). Depending
> on the nature of the guest disk (e.g. qcow2 or raw file image based)
> this can require a qemu instance in dom0.
> 
> The upstream xencommons starts such a qemu on boot. The following patch
> adds this to the Debian packages init script as well.
> 
> Once I have a bug number for this I will add it to debian/changelog and
> push the result to feature/bugNNNN as usual.
> 
> Thanks,
> Ian.
> 
> commit 26cce2a65c77f731e23a1395f1fe4a5da47287a4
> Author: Ian Campbell <ijc at debian.org>
> Date:   Fri Nov 21 11:27:45 2014 +0000
> 
>     Start a qemu process in dom0 to service the toolstacks loopback disk attaches.
>     
>     This is used to e.g. run pygrub on a VM with a qcow2 disk image.
>     
>     Also, remove correct pidfile when stopping xenconsoled.
> 
> diff --git a/debian/changelog b/debian/changelog
> index 484583f..ff48d6a 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,3 +1,12 @@
> +xen (4.4.1-4) UNRELEASED; urgency=medium
> +
> +  [ Ian Campbell ]
> +  * Start a qemu process in dom0 to service the toolstacks loopback disk
> +    attaches.
> +  * Remove correct pidfile when stopping xenconsoled.
> +
> + -- Ian Campbell <ijc at debian.org>  Fri, 21 Nov 2014 11:26:40 +0000
> +
>  xen (4.4.1-3) unstable; urgency=medium
>  
>    [ Bastian Blank ]
> diff --git a/debian/xen-utils-common.xen.init b/debian/xen-utils-common.xen.init
...
> +
> +qemu_start_real()
> +{
> +	start-stop-daemon --start --quiet --pidfile "$QEMU_PIDFILE" --exec "$QEMU" --test > /dev/null \
> +		|| return 1
> +	start-stop-daemon --start --quiet --pidfile "$QEMU_PIDFILE" --exec "$QEMU" -- \
> +		$QEMU_ARGS -pidfile "$QEMU_PIDFILE" \
> +		|| return 2
> +}
> +
> +qemu_stop_real()
> +{
> +	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile "$QEMU_PIDFILE" --name xenconsoled
> +	RETVAL="$?"
> +	[ "$RETVAL" = 2 ] && return 2
> +	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec "$QEMU"
> +	[ "$?" = 2 ] && return 2
> +	rm -f $QEMU_PIDFILE
> +	return "$RETVAL"
> +}
> +
> +

Not sure this already was handled but the --name argument of qemu_stop_real
seems a copy-and-paste bug. Playing with it right now, --exec instead of --name
also works out better since qemu-system-i386 is just about too long.

-Stefan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-xen-devel/attachments/20141127/d67efba9/attachment.sig>


More information about the Pkg-xen-devel mailing list