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_ */