On Fri, Oct 08, 2010 at 10:21:30AM -0400, Dave Anderson wrote: > Try the attached patch. Yup, that seems to fix the problem. FWIW, I also added support for the "slirp" section in some qemu-produced qcow2 images I had. I didn't read qemu source to determine whether the section size is constant, so it might not be correct; however the attached patch works for me in this one case. Sami
diff -ur crash-5.0.7/qemu-load.c crash-5.0.7.patched//qemu-load.c --- crash-5.0.7/qemu-load.c 2010-08-27 20:36:18.000000000 +0300 +++ crash-5.0.7.patched//qemu-load.c 2010-10-01 03:13:18.353166124 +0300 @@ -779,6 +779,32 @@ } +/* slirp loader. */ +static uint32_t +slirp_load (struct qemu_device *d, FILE *fp, enum qemu_save_section sec) +{ + fseek (fp, 131, SEEK_CUR); + return 0; +} + +static struct qemu_device * +slirp_init_load (struct qemu_device_list *dl, + uint32_t section_id, uint32_t instance_id, + uint32_t version_id, bool live, FILE *fp) +{ + static struct qemu_device_vtbl slirp = { + "slirp", + slirp_load, + NULL + }; + + assert (!live); + return device_alloc (dl, sizeof (struct qemu_device), + &slirp, section_id, instance_id, version_id); +} + + + /* Putting it together. */ const struct qemu_device_loader devices_x86_64[] = { @@ -791,6 +817,7 @@ { "block", block_init_load }, { "ram", ram_init_load }, { "timer", timer_init_load }, + { "slirp", slirp_init_load }, { NULL, NULL } }; @@ -804,6 +831,7 @@ { "block", block_init_load }, { "ram", ram_init_load }, { "timer", timer_init_load }, + { "slirp", slirp_init_load }, { NULL, NULL } };
Attachment:
signature.asc
Description: Digital signature
-- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility