--- /dev/null
+#!/bin/sh
+#
+# xenstored Script to start and stop qemu for xen dom0 disk backend
+#
+# chkconfig: 2345 70 10
+# description: Starts and stops qemu for xen dom0 disk backend
+#
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+
+start () {
+ [ -d /proc/xen ] || exit 0
+ grep -qs "control_d" /proc/xen/capabilities || exit 0
+ [ -x /usr/bin/qemu-system-i386 ] || exit 0
+
+ if [ -f /var/lock/subsys/xen-qemu-dom0-disk-backend ]; then
+ msg_already_running "qemu for xen dom0 disk backend"
+ return
+ fi
+
+ msg_starting "qemu for xen dom0 disk backend"
+ daemon /usr/bin/qemu-system-i386 -xen-domid 0 \
+ -xen-attach -name dom0 -nographic -M xenpv -daemonize \
+ -monitor /dev/null -serial /dev/null -parallel /dev/null \
+ -pidfile /var/run/qemu-dom0.pid
+
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xen-qemu-dom0-disk-backend
+}
+
+stop() {
+ if [ ! -f /var/lock/subsys/xen-qemu-dom0-disk-backend ]; then
+ msg_not_running "qemu for xen dom0 disk backend"
+ return
+ fi
+ msg_stopping "qemu for xen dom0 disk backend"
+ killproc --pidfile /var/run/qemu-dom0.pid qemu-system-i386
+ RETVAL=$?
+ rm -f /var/run/qemu-dom0.pid >/dev/null 2>&1
+ rm -f /var/lock/subsys/xen-qemu-dom0-disk-backend >/dev/null 2>&1
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ status)
+ status --pidfile /var/run/qemu-dom0.pid xen-qemu-dom0-disk-backend qemu-system-i386
+ ;;
+ stop)
+ stop
+ ;;
+ force-reload|restart)
+ stop
+ start
+ ;;
+ *)
+ msg_usage "$0 {start|stop|status|restart|force-reload}"
+ exit 3
+esac
+
+exit $RETVAL
--- /dev/null
+[Unit]
+Description=qemu for xen dom0 disk backend
+Requires=proc-xen.mount xenstored.service
+After=proc-xen.mount xenstored.service xenconsoled.service
+Before=xendomains.service libvirtd.service libvirt-guests.service
+RefuseManualStop=true
+ConditionPathExists=/proc/xen/capabilities
+ConditionFileIsExecutable=/usr/bin/qemu-system-i386
+
+[Service]
+Type=simple
+PIDFile=/var/run/qemu-dom0.pid
+ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities
+ExecStart=/usr/bin/qemu-system-i386 -xen-domid 0 \
+ -xen-attach -name dom0 -nographic -M xenpv -daemonize \
+ -monitor /dev/null -serial /dev/null -parallel /dev/null \
+ -pidfile /var/run/qemu-dom0.pid
+
+[Install]
+WantedBy=multi-user.target
Source42: xen-dom0-modules-load.conf
Source43: xendomains.sh
Source44: xendomains.service
+Source45: xen-qemu-dom0-disk-backend.service
+Source46: xen-qemu-dom0-disk-backend.init
# sysvinit scripts
Source50: xend.init
Source51: xenconsoled.init
install %{SOURCE42} $RPM_BUILD_ROOT/etc/modules-load.d/xen-dom0.conf
install %{SOURCE43} $RPM_BUILD_ROOT%{_prefix}/lib/%{name}/bin/xendomains.sh
install %{SOURCE44} $RPM_BUILD_ROOT%{systemdunitdir}/xendomains.service
+install %{SOURCE45} $RPM_BUILD_ROOT%{systemdunitdir}/xen-qemu-dom0-disk-backend.service
# sysvinit scripts
%{__rm} $RPM_BUILD_ROOT/etc/rc.d/init.d/*
%{__rm} $RPM_BUILD_ROOT/etc/sysconfig/xencommons
install %{SOURCE52} $RPM_BUILD_ROOT/etc/rc.d/init.d/xenstored
install %{SOURCE53} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-watchdog
install %{SOURCE54} $RPM_BUILD_ROOT/etc/rc.d/init.d/xendomains
+install %{SOURCE46} $RPM_BUILD_ROOT/etc/rc.d/init.d/xen-qemu-dom0-disk-backend
install %{SOURCE55} $RPM_BUILD_ROOT/etc/logrotate.d/xen
install %{SOURCE56} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/xen.conf
/sbin/chkconfig --add xenconsoled
/sbin/chkconfig --add xenstored
/sbin/chkconfig --add xendomains
+/sbin/chkconfig --add xen-qemu-dom0-disk-backend
NORESTART=1
-%systemd_post xen-watchdog.service xenconsoled.service xenstored.service xendomains.service
+%systemd_post xen-watchdog.service xenconsoled.service xenstored.service xendomains.service xen-qemu-dom0-disk-backend.service
%preun
if [ "$1" = "0" ]; then
%service xen-watchdog stop
/sbin/chkconfig --del xen-watchdog
+
+ %service xen-qemu-dom0-disk-backend stop
+ /sbin/chkconfig --del xen-qemu-dom0-disk-backend
fi
-%systemd_preun xen-watchdog.service xenconsoled.service xenstored.service xendomains.service
+%systemd_preun xen-watchdog.service xenconsoled.service xenstored.service xendomains.service xen-qemu-dom0-disk-backend.service
%postun
%systemd_reload
%attr(754,root,root) /etc/rc.d/init.d/xenconsoled
%attr(754,root,root) /etc/rc.d/init.d/xenstored
%attr(754,root,root) /etc/rc.d/init.d/xendomains
+%attr(754,root,root) /etc/rc.d/init.d/xen-qemu-dom0-disk-backend
%config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/xen-dom0.conf
%{systemdunitdir}/proc-xen.mount
%{systemdunitdir}/var-lib-xenstored.mount
%{systemdunitdir}/xenconsoled.service
%{systemdunitdir}/xenstored.service
%{systemdunitdir}/xendomains.service
+%{systemdunitdir}/xen-qemu-dom0-disk-backend.service
%dir %{_sysconfdir}/xen
%dir %{_sysconfdir}/xen/auto
%dir %{_sysconfdir}/xen/examples