mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
stubdom: support save/restore by passing the -loadvm parameter,
letting the stubdomain access the save area, and having it watch the correct xenstore node. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
This commit is contained in:
1 parent
37a1d36134
commit
caa44aa73f
3 files changed
+19
-5
No files matched your search
@@ -78,6 +78,8 @@ To run
|
||||
|
||||
mkdir -p /exports/usr/share/qemu
|
||||
ln -s /usr/share/qemu/keymaps /exports/usr/share/qemu
|
||||
mkdir -p /exports/var/lib
|
||||
ln -s /var/lib/xen /exports/var/lib
|
||||
/usr/sbin/fs-backend &
|
||||
|
||||
xm create hvmconfig
|
||||
+15
-3
@@ -14,18 +14,30 @@ domid=
|
||||
domname=
|
||||
vncviewer=0
|
||||
vncpid=
|
||||
extra=
|
||||
while [ "$#" -gt 0 ];
|
||||
do
|
||||
if [ "$#" -ge 2 ];
|
||||
then
|
||||
case "$1" in
|
||||
-d) domid=$2; shift ;;
|
||||
-domain-name) domname=$2; shift ;;
|
||||
-d)
|
||||
domid=$2;
|
||||
extra="$extra -d $domid";
|
||||
shift
|
||||
;;
|
||||
-domain-name)
|
||||
domname=$2;
|
||||
shift
|
||||
;;
|
||||
-vnc)
|
||||
ip=${2%:*};
|
||||
vnc_port=${2#*:};
|
||||
shift
|
||||
;;
|
||||
-loadvm)
|
||||
extra="$extra -loadvm $2";
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case "$1" in
|
||||
@@ -60,7 +72,7 @@ do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
creation="xm create -c stubdom-$domname target=$domid memory=32"
|
||||
creation="xm create -c stubdom-$domname target=$domid memory=32 extra=\"$extra\""
|
||||
|
||||
(while true ; do sleep 60 ; done) | $creation &
|
||||
#xterm -geometry +0+0 -e /bin/sh -c "$creation ; echo ; echo press ENTER to shut down ; read" &
|
||||
|
||||
@@ -81,7 +81,7 @@ static void waitForDevice(char *fn)
|
||||
|
||||
#define DIRECT_PCI_STR_LEN 160
|
||||
char direct_pci_str[DIRECT_PCI_STR_LEN];
|
||||
void xenstore_parse_domain_config(int domid)
|
||||
void xenstore_parse_domain_config(int hvm_domid)
|
||||
{
|
||||
char **e = NULL;
|
||||
char *buf = NULL, *path;
|
||||
@@ -100,7 +100,7 @@ void xenstore_parse_domain_config(int domid)
|
||||
return;
|
||||
}
|
||||
|
||||
path = xs_get_domain_path(xsh, domid);
|
||||
path = xs_get_domain_path(xsh, hvm_domid);
|
||||
if (path == NULL) {
|
||||
fprintf(logfile, "xs_get_domain_path() error\n");
|
||||
goto out;
|
||||
|
||||