[patch] allow crash dumps to Linux swap partitions

Don Lewis truckman at FreeBSD.org
Sun Jan 8 21:13:53 UTC 2012


I've got a machine that is set up to dual boot both FreeBSD and Linux.
It is also disk space impaired, so to make the best use possible of the
available space, I have FreeBSD set up to swap to the Linux swap
partition. Until now I haven't had working crash dumps because geom
didn't permit crash dumps to Linux swap partitions. This patch removes
that limitation.  This could be useful for users of laptops who boot
multiple operating systems.


Index: sys/geom/part/g_part_ebr.c
===================================================================
--- sys/geom/part/g_part_ebr.c	(revision 229800)
+++ sys/geom/part/g_part_ebr.c	(working copy)
@@ -333,9 +333,10 @@
 {
 	struct g_part_ebr_entry *entry;
 
-	/* Allow dumping to a FreeBSD partition only. */
+	/* Allow dumping to a FreeBSD partition or Linux swap partition only. */
 	entry = (struct g_part_ebr_entry *)baseentry;
-	return ((entry->ent.dp_typ == DOSPTYP_386BSD) ? 1 : 0);
+	return ((entry->ent.dp_typ == DOSPTYP_386BSD ||
+	    entry->ent.dp_typ == DOSPTYP_LINSWP) ? 1 : 0);
 }
 
 #if defined(GEOM_PART_EBR_COMPAT)
Index: sys/geom/part/g_part_mbr.c
===================================================================
--- sys/geom/part/g_part_mbr.c	(revision 229800)
+++ sys/geom/part/g_part_mbr.c	(working copy)
@@ -304,9 +304,10 @@
 {
 	struct g_part_mbr_entry *entry;
 
-	/* Allow dumping to a FreeBSD partition only. */
+	/* Allow dumping to a FreeBSD partition or Linux swap partition only. */
 	entry = (struct g_part_mbr_entry *)baseentry;
-	return ((entry->ent.dp_typ == DOSPTYP_386BSD) ? 1 : 0);
+	return ((entry->ent.dp_typ == DOSPTYP_386BSD ||
+	    entry->ent.dp_typ == DOSPTYP_LINSWP) ? 1 : 0);
 }
 
 static int



Is anyone else disturbed by  the foot shooting potential of allowing
crash dumps to be written to 386BSD partitions?



More information about the freebsd-arch mailing list