Module Name:    src
Committed By:   mrg
Date:           Tue Nov  6 04:04:34 UTC 2018

Modified Files:
        src/common/lib/libutil: getfstypename.c
        src/sbin/gpt: gpt_uuid.c
        src/sys/dev/dkwedge: dkwedge_gpt.c
        src/sys/sys: disk.h disklabel.h disklabel_gpt.h

Log Message:
add support to detect the 3 vmware GPT partition types:

- VMKcore (dump partition)
- VMFS
- VMware reserved

this enables vmkcore partitions for netbsd swap or dump, as well
as naming all of them.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/common/lib/libutil/getfstypename.c
cvs rdiff -u -r1.15 -r1.16 src/sbin/gpt/gpt_uuid.c
cvs rdiff -u -r1.20 -r1.21 src/sys/dev/dkwedge/dkwedge_gpt.c
cvs rdiff -u -r1.72 -r1.73 src/sys/sys/disk.h
cvs rdiff -u -r1.119 -r1.120 src/sys/sys/disklabel.h
cvs rdiff -u -r1.12 -r1.13 src/sys/sys/disklabel_gpt.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/common/lib/libutil/getfstypename.c
diff -u src/common/lib/libutil/getfstypename.c:1.8 src/common/lib/libutil/getfstypename.c:1.9
--- src/common/lib/libutil/getfstypename.c:1.8	Sat Apr  7 16:28:59 2012
+++ src/common/lib/libutil/getfstypename.c	Tue Nov  6 04:04:33 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: getfstypename.c,v 1.8 2012/04/07 16:28:59 christos Exp $	*/
+/*	$NetBSD: getfstypename.c,v 1.9 2018/11/06 04:04:33 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -39,10 +39,10 @@
 # include <sys/cdefs.h>
 # ifndef _KERNEL
 #  if !defined(lint)
-__RCSID("$NetBSD: getfstypename.c,v 1.8 2012/04/07 16:28:59 christos Exp $");
+__RCSID("$NetBSD: getfstypename.c,v 1.9 2018/11/06 04:04:33 mrg Exp $");
 #  endif
 # else
-__KERNEL_RCSID(0, "$NetBSD: getfstypename.c,v 1.8 2012/04/07 16:28:59 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: getfstypename.c,v 1.9 2018/11/06 04:04:33 mrg Exp $");
 # endif /* _KERNEL */
 
 # define FSTYPE_ENUMNAME fstype_enum
@@ -123,6 +123,12 @@ getfstypename(int fstype)
 		return DKW_PTYPE_UNKNOWN;
 	case FS_MINIXFS3:
 		return DKW_PTYPE_MINIXFS3;
+	case FS_VMKCORE:
+		return DKW_PTYPE_VMKCORE;
+	case FS_VMFS:
+		return DKW_PTYPE_VMFS;
+	case FS_VMWRESV:
+		return DKW_PTYPE_VMWRESV;
 	}
 	/* Stupid gcc, should know it is impossible to get here */
 	/*NOTREACHED*/

Index: src/sbin/gpt/gpt_uuid.c
diff -u src/sbin/gpt/gpt_uuid.c:1.15 src/sbin/gpt/gpt_uuid.c:1.16
--- src/sbin/gpt/gpt_uuid.c:1.15	Thu Feb 16 22:40:19 2017
+++ src/sbin/gpt/gpt_uuid.c	Tue Nov  6 04:04:33 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: gpt_uuid.c,v 1.15 2017/02/16 22:40:19 christos Exp $	*/
+/*	$NetBSD: gpt_uuid.c,v 1.16 2018/11/06 04:04:33 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
 
 #include <sys/cdefs.h>
 #ifdef __RCSID
-__RCSID("$NetBSD: gpt_uuid.c,v 1.15 2017/02/16 22:40:19 christos Exp $");
+__RCSID("$NetBSD: gpt_uuid.c,v 1.16 2018/11/06 04:04:33 mrg Exp $");
 #endif
 
 #include <err.h>
@@ -87,6 +87,9 @@ static const struct {
 	{ GPT_ENT_TYPE_NETBSD_RAIDFRAME, "raid",
 	    "NetBSD RAIDFrame component" },
 	{ GPT_ENT_TYPE_NETBSD_SWAP, "swap", "NetBSD swap" },
+	{ GPT_ENT_TYPE_VMWARE_VMKCORE, "swap", "VMware VMkernel core dump" },
+	{ GPT_ENT_TYPE_VMWARE_VMFS, "swap", "VMware VMFS" },
+	{ GPT_ENT_TYPE_VMWARE_RESERVED, "swap", "VMware reserved" },
 };
 
 static void

Index: src/sys/dev/dkwedge/dkwedge_gpt.c
diff -u src/sys/dev/dkwedge/dkwedge_gpt.c:1.20 src/sys/dev/dkwedge/dkwedge_gpt.c:1.21
--- src/sys/dev/dkwedge/dkwedge_gpt.c:1.20	Thu Sep  7 10:18:26 2017
+++ src/sys/dev/dkwedge/dkwedge_gpt.c	Tue Nov  6 04:04:33 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: dkwedge_gpt.c,v 1.20 2017/09/07 10:18:26 christos Exp $	*/
+/*	$NetBSD: dkwedge_gpt.c,v 1.21 2018/11/06 04:04:33 mrg Exp $	*/
 
 /*-
  * Copyright (c) 2004 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dkwedge_gpt.c,v 1.20 2017/09/07 10:18:26 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dkwedge_gpt.c,v 1.21 2018/11/06 04:04:33 mrg Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -73,6 +73,9 @@ static const struct {
 	{ GPT_ENT_TYPE_NETBSD_CCD,		DKW_PTYPE_CCD },
 	{ GPT_ENT_TYPE_NETBSD_CGD,		DKW_PTYPE_CGD },
 	{ GPT_ENT_TYPE_APPLE_HFS,		DKW_PTYPE_APPLEHFS },
+	{ GPT_ENT_TYPE_VMWARE_VMKCORE,		DKW_PTYPE_VMKCORE },
+	{ GPT_ENT_TYPE_VMWARE_VMFS,		DKW_PTYPE_VMFS },
+	{ GPT_ENT_TYPE_VMWARE_RESERVED,		DKW_PTYPE_VMWRESV },
 };
 
 static const char *

Index: src/sys/sys/disk.h
diff -u src/sys/sys/disk.h:1.72 src/sys/sys/disk.h:1.73
--- src/sys/sys/disk.h:1.72	Tue Jun 13 14:05:47 2017
+++ src/sys/sys/disk.h	Tue Nov  6 04:04:34 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: disk.h,v 1.72 2017/06/13 14:05:47 chs Exp $	*/
+/*	$NetBSD: disk.h,v 1.73 2018/11/06 04:04:34 mrg Exp $	*/
 
 /*-
  * Copyright (c) 1996, 1997, 2004 The NetBSD Foundation, Inc.
@@ -208,6 +208,9 @@ struct dkwedge_list {
 #define	DKW_PTYPE_NILFS		"nilfs"
 #define	DKW_PTYPE_CGD		"cgd"
 #define	DKW_PTYPE_MINIXFS3	"minixfs3"
+#define	DKW_PTYPE_VMKCORE	"vmkcore"
+#define	DKW_PTYPE_VMFS		"vmfs"
+#define	DKW_PTYPE_VMWRESV	"vmwresv"
 
 /*
  * Ensure each symbol used in FSTYPE_DEFN in <sys/disklabel.h>

Index: src/sys/sys/disklabel.h
diff -u src/sys/sys/disklabel.h:1.119 src/sys/sys/disklabel.h:1.120
--- src/sys/sys/disklabel.h:1.119	Tue Dec  8 20:36:15 2015
+++ src/sys/sys/disklabel.h	Tue Nov  6 04:04:34 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.119 2015/12/08 20:36:15 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.120 2018/11/06 04:04:34 mrg Exp $	*/
 
 /*
  * Copyright (c) 1987, 1988, 1993
@@ -361,7 +361,10 @@ x(SYSVBFS, 25, "SysVBFS",    NULL,  "sys
 x(EFS,     26, "EFS",        NULL,   "efs")   /* SGI's Extent Filesystem */ \
 x(NILFS,   27, "NiLFS",      NULL,   "nilfs") /* NTT's NiLFS(2) */ \
 x(CGD,     28, "cgd",	     NULL,   NULL)    /* Cryptographic disk */ \
-x(MINIXFS3,29, "MINIX FSv3", NULL,   NULL)    /* MINIX file system v3 */
+x(MINIXFS3,29, "MINIX FSv3", NULL,   NULL)    /* MINIX file system v3 */ \
+x(VMKCORE, 30, "VMware vmkcore", NULL, NULL)  /* VMware vmkcore */ \
+x(VMFS,    31, "VMware VMFS", NULL,  NULL)    /* VMware VMFS */ \
+x(VMWRESV, 32, "VMware Reserved", NULL, NULL) /* VMware reserved */
 
 
 #ifndef _LOCORE

Index: src/sys/sys/disklabel_gpt.h
diff -u src/sys/sys/disklabel_gpt.h:1.12 src/sys/sys/disklabel_gpt.h:1.13
--- src/sys/sys/disklabel_gpt.h:1.12	Sun Nov 24 08:17:50 2013
+++ src/sys/sys/disklabel_gpt.h	Tue Nov  6 04:04:34 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel_gpt.h,v 1.12 2013/11/24 08:17:50 jnemeth Exp $	*/
+/*	$NetBSD: disklabel_gpt.h,v 1.13 2018/11/06 04:04:34 mrg Exp $	*/
 
 /*
  * Copyright (c) 2002 Marcel Moolenaar
@@ -176,4 +176,14 @@ struct gpt_ent {
 #define	GPT_ENT_TYPE_BIOS		\
 	{0x21686148,0x6449,0x6e6f,0x74,0x4e,{0x65,0x65,0x64,0x45,0x46,0x49}}
 
+/*
+ * VMware types.
+ */
+#define	GPT_ENT_TYPE_VMWARE_VMKCORE	\
+	{0x9D275380,0x40AD,0x11DB,0xBF,0x97,{0x00,0x0C,0x29,0x11,0xD1,0xB8}}
+#define	GPT_ENT_TYPE_VMWARE_VMFS	\
+	{0xAA31E02A,0x400F,0x11DB,0x95,0x90,{0x00,0x0C,0x29,0x11,0xD1,0xB8}}
+#define	GPT_ENT_TYPE_VMWARE_RESERVED	\
+	{0x9198EFFC,0x31C0,0x11DB,0x8F,0x78,{0x00,0x0C,0x29,0x11,0xD1,0xB8}}
+
 #endif /* _SYS_DISKLABEL_GPT_H_ */

Reply via email to