Re: [patch] crash on a KVM-generated dump

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux