# HG changeset patch # User Keir Fraser # Date 1202132573 0 # Node ID 90844659c4582a3098b6ff67cfa12eadf2b4666a # Parent e4edc310e949750065cb39588d87c335c7cd71a2 Revert 16947:32b898768217027. Breaks HVM qcow-backed discs. Sigend-off-by: Keir Fraser diff -r e4edc310e949 -r 90844659c458 tools/ioemu/hw/xen_machine_fv.c --- a/tools/ioemu/hw/xen_machine_fv.c Sun Feb 03 10:22:08 2008 +0000 +++ b/tools/ioemu/hw/xen_machine_fv.c Mon Feb 04 13:42:53 2008 +0000 @@ -205,8 +205,6 @@ static void xen_init_fv(uint64_t ram_siz } #endif - xenstore_parse_domain_config(domid); - xc_get_hvm_param(xc_handle, domid, HVM_PARAM_IOREQ_PFN, &ioreq_pfn); fprintf(logfile, "shared page at pfn %lx\n", ioreq_pfn); shared_page = xc_map_foreign_range(xc_handle, domid, XC_PAGE_SIZE, diff -r e4edc310e949 -r 90844659c458 tools/ioemu/vl.c --- a/tools/ioemu/vl.c Sun Feb 03 10:22:08 2008 +0000 +++ b/tools/ioemu/vl.c Mon Feb 04 13:42:53 2008 +0000 @@ -7593,7 +7593,7 @@ int main(int argc, char **argv) #ifdef CONFIG_DM bdrv_init(); xc_handle = xc_interface_open(); - xenstore_daemon_open(); + xenstore_parse_domain_config(domid); #endif /* CONFIG_DM */ #ifdef USE_KQEMU diff -r e4edc310e949 -r 90844659c458 tools/ioemu/vl.h --- a/tools/ioemu/vl.h Sun Feb 03 10:22:08 2008 +0000 +++ b/tools/ioemu/vl.h Mon Feb 04 13:42:53 2008 +0000 @@ -1457,7 +1457,6 @@ void readline_start(const char *prompt, ReadLineFunc *readline_func, void *opaque); /* xenstore.c */ -void xenstore_daemon_open(void); void xenstore_parse_domain_config(int domid); int xenstore_fd(void); void xenstore_process_event(void *opaque); diff -r e4edc310e949 -r 90844659c458 tools/ioemu/xenstore.c --- a/tools/ioemu/xenstore.c Sun Feb 03 10:22:08 2008 +0000 +++ b/tools/ioemu/xenstore.c Mon Feb 04 13:42:53 2008 +0000 @@ -77,13 +77,6 @@ static void waitForDevice(char *fn) return; } -void xenstore_daemon_open(void) -{ - xsh = xs_daemon_open(); - if (xsh == NULL) - fprintf(logfile, "Could not contact xenstore for domain config\n"); -} - void xenstore_parse_domain_config(int domid) { char **e = NULL; @@ -97,6 +90,12 @@ void xenstore_parse_domain_config(int do for(i = 0; i < MAX_DISKS + MAX_SCSI_DISKS; i++) media_filename[i] = NULL; + xsh = xs_daemon_open(); + if (xsh == NULL) { + fprintf(logfile, "Could not contact xenstore for domain config\n"); + return; + } + path = xs_get_domain_path(xsh, domid); if (path == NULL) { fprintf(logfile, "xs_get_domain_path() error\n");