]> granicus.if.org Git - zfs/commitdiff
OpenZFS 2932 - support crash dumps to raidz, etc. pools
authorGiuseppe Di Natale <dinatale2@llnl.gov>
Thu, 6 Apr 2017 15:25:47 +0000 (08:25 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 10 Apr 2017 17:24:17 +0000 (10:24 -0700)
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

include/zfeature_common.h
man/man5/zpool-features.5
module/zfs/zfeature_common.c
tests/zfs-tests/tests/functional/cli_root/zpool_get/zpool_get.cfg

index acf76381b7c075af9b6fb265c2993c64efc50fac..25d680ffcebd9848c3d0d23841d3a5cb2ac02e65 100644 (file)
@@ -22,6 +22,7 @@
 /*
  * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
  * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
+ * Copyright (c) 2013, Joyent, Inc. All rights reserved.
  */
 
 #ifndef _ZFEATURE_COMMON_H
@@ -42,6 +43,7 @@ typedef enum spa_feature {
        SPA_FEATURE_ASYNC_DESTROY,
        SPA_FEATURE_EMPTY_BPOBJ,
        SPA_FEATURE_LZ4_COMPRESS,
+       SPA_FEATURE_MULTI_VDEV_CRASH_DUMP,
        SPA_FEATURE_SPACEMAP_HISTOGRAM,
        SPA_FEATURE_ENABLED_TXG,
        SPA_FEATURE_HOLE_BIRTH,
index ccc7ab47e34c73611385a292e49e868c481d6e1c..e70af7695f991c737adf1b4b71b6f9bacfba0110 100644 (file)
@@ -276,6 +276,34 @@ an existing space map is upgraded to the new format. Once the feature is
 
 .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
 .ne 2
 .na
index 768b778437047c01777eca32c78c0dd9f094a03b..73abcb236c550c25f698a4cfb6b20fe8b8ef0f69 100644 (file)
@@ -22,6 +22,7 @@
 /*
  * Copyright (c) 2011, 2015 by Delphix. 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.
  */
 
@@ -192,6 +193,11 @@ zpool_feature_init(void)
            "LZ4 compression algorithm support.",
            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,
            "com.delphix:spacemap_histogram", "spacemap_histogram",
            "Spacemaps maintain space histograms.",
index 699229fef78d91e603b1ed345e9796980f436425..f07f68abb3fa4bd6c895cc78a9554d76e2030d72 100644 (file)
@@ -39,7 +39,7 @@ typeset -a properties=("size" "capacity" "altroot" "health" "guid" "version"
     "feature@spacemap_histogram" "feature@enabled_txg" "feature@hole_birth"
     "feature@extensible_dataset" "feature@bookmarks" "feature@embedded_data"
     "feature@sha512" "feature@skein" "feature@edonr"
-    "feature@userobj_accounting")
+    "feature@userobj_accounting" "feature@multi_vdev_crash_dump")
 else
 typeset -a properties=("size" "capacity" "altroot" "health" "guid" "version"
     "bootfs" ""leaked" delegation" "autoreplace" "cachefile" "dedupditto" "dedupratio"