Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jan 2012 18:32:56 +0000 (UTC)
From:      Don Lewis <truckman@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r230064 - head/sys/geom/part
Message-ID:  <201201131832.q0DIWuK0074056@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: truckman
Date: Fri Jan 13 18:32:56 2012
New Revision: 230064
URL: http://svn.freebsd.org/changeset/base/230064

Log:
  Allow an MBR primary or extended Linux swap partition to be specified
  as the system dump device.  This was already allowed for GPT.  The Linux
  swap metadata at the beginning of the partition should not be disturbed
  because the crash dump is written at the end.
  
  Reviewed by:	alfred, pjd, marcel
  MFC after:	2 weeks

Modified:
  head/sys/geom/part/g_part_ebr.c
  head/sys/geom/part/g_part_mbr.c

Modified: head/sys/geom/part/g_part_ebr.c
==============================================================================
--- head/sys/geom/part/g_part_ebr.c	Fri Jan 13 17:13:46 2012	(r230063)
+++ head/sys/geom/part/g_part_ebr.c	Fri Jan 13 18:32:56 2012	(r230064)
@@ -333,9 +333,10 @@ g_part_ebr_dumpto(struct g_part_table *t
 {
 	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)

Modified: head/sys/geom/part/g_part_mbr.c
==============================================================================
--- head/sys/geom/part/g_part_mbr.c	Fri Jan 13 17:13:46 2012	(r230063)
+++ head/sys/geom/part/g_part_mbr.c	Fri Jan 13 18:32:56 2012	(r230064)
@@ -304,9 +304,10 @@ g_part_mbr_dumpto(struct g_part_table *t
 {
 	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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201131832.q0DIWuK0074056>