OpenZFS 2932 - support crash dumps to raidz, etc. pools

Authored by: Bill Pijewski <wdp@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@nexenta.com>
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Ported-by: Giuseppe Di Natale <dinatale2@llnl.gov>

OpenZFS-issue: https://www.illumos.org/issues/2932
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/810e43b
Closes #5984
Closes #5216
This commit is contained in:
Giuseppe Di Natale 2017-04-06 08:25:47 -07:00 committed by Brian Behlendorf
parent a8d6ae1e16
commit 42db43e982
4 changed files with 37 additions and 1 deletions

View File

@ -22,6 +22,7 @@
/* /*
* Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
* Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
*/ */
#ifndef _ZFEATURE_COMMON_H #ifndef _ZFEATURE_COMMON_H
@ -42,6 +43,7 @@ typedef enum spa_feature {
SPA_FEATURE_ASYNC_DESTROY, SPA_FEATURE_ASYNC_DESTROY,
SPA_FEATURE_EMPTY_BPOBJ, SPA_FEATURE_EMPTY_BPOBJ,
SPA_FEATURE_LZ4_COMPRESS, SPA_FEATURE_LZ4_COMPRESS,
SPA_FEATURE_MULTI_VDEV_CRASH_DUMP,
SPA_FEATURE_SPACEMAP_HISTOGRAM, SPA_FEATURE_SPACEMAP_HISTOGRAM,
SPA_FEATURE_ENABLED_TXG, SPA_FEATURE_ENABLED_TXG,
SPA_FEATURE_HOLE_BIRTH, SPA_FEATURE_HOLE_BIRTH,

View File

@ -276,6 +276,34 @@ an existing space map is upgraded to the new format. Once the feature is
.RE .RE
.sp
.ne 2
.na
\fB\fBmulti_vdev_crash_dump\fR\fR
.ad
.RS 4n
.TS
l l .
GUID com.joyent:multi_vdev_crash_dump
READ\-ONLY COMPATIBLE no
DEPENDENCIES none
.TE
This feature allows a dump device to be configured with a pool comprised
of multiple vdevs. Those vdevs may be arranged in any mirrored or raidz
configuration.
When the \fBmulti_vdev_crash_dump\fR feature is set to \fBenabled\fR,
the administrator can use the \fBdumpadm\fR(1M) command to configure a
dump device on a pool comprised of multiple vdevs.
Under Linux this feature is registered for compatibility but not used.
New pools created under Linux will have the feature \fBenabled\fR but
will never transition to \fB\fBactive\fR. This functionality is not
required in order to support crash dumps under Linux. Existing pools
where this feature is \fB\fBactive\fR can be imported.
.RE
.sp .sp
.ne 2 .ne 2
.na .na

View File

@ -22,6 +22,7 @@
/* /*
* Copyright (c) 2011, 2015 by Delphix. All rights reserved. * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
* Copyright (c) 2013 by Saso Kiselkov. All rights reserved. * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
* Copyright (c) 2014, Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2014, Nexenta Systems, Inc. All rights reserved.
*/ */
@ -192,6 +193,11 @@ zpool_feature_init(void)
"LZ4 compression algorithm support.", "LZ4 compression algorithm support.",
ZFEATURE_FLAG_ACTIVATE_ON_ENABLE, NULL); ZFEATURE_FLAG_ACTIVATE_ON_ENABLE, NULL);
zfeature_register(SPA_FEATURE_MULTI_VDEV_CRASH_DUMP,
"com.joyent:multi_vdev_crash_dump", "multi_vdev_crash_dump",
"Crash dumps to multiple vdev pools.",
0, NULL);
zfeature_register(SPA_FEATURE_SPACEMAP_HISTOGRAM, zfeature_register(SPA_FEATURE_SPACEMAP_HISTOGRAM,
"com.delphix:spacemap_histogram", "spacemap_histogram", "com.delphix:spacemap_histogram", "spacemap_histogram",
"Spacemaps maintain space histograms.", "Spacemaps maintain space histograms.",

View File

@ -39,7 +39,7 @@ typeset -a properties=("size" "capacity" "altroot" "health" "guid" "version"
"feature@spacemap_histogram" "feature@enabled_txg" "feature@hole_birth" "feature@spacemap_histogram" "feature@enabled_txg" "feature@hole_birth"
"feature@extensible_dataset" "feature@bookmarks" "feature@embedded_data" "feature@extensible_dataset" "feature@bookmarks" "feature@embedded_data"
"feature@sha512" "feature@skein" "feature@edonr" "feature@sha512" "feature@skein" "feature@edonr"
"feature@userobj_accounting") "feature@userobj_accounting" "feature@multi_vdev_crash_dump")
else else
typeset -a properties=("size" "capacity" "altroot" "health" "guid" "version" typeset -a properties=("size" "capacity" "altroot" "health" "guid" "version"
"bootfs" ""leaked" delegation" "autoreplace" "cachefile" "dedupditto" "dedupratio" "bootfs" ""leaked" delegation" "autoreplace" "cachefile" "dedupditto" "dedupratio"