Print this page
3956 ::vdev -r should work with pipelines
3957 ztest should update the cachefile before killing itself
3958 multiple scans can lead to partial resilvering
3959 ddt entries are not always resilvered
3960 dsl_scan can skip over dedup-ed blocks if physical birth != logical birth
3961 freed gang blocks are not resilvered and can cause pool to suspend
3962 ztest should print out zfs debug buffer before exiting
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>


   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 
  22 /*
  23  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  24  * Copyright (c) 2012 by Delphix. All rights reserved.
  25  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  26  * Copyright (c) 2012, Joyent, Inc. All rights reserved.
  27  */
  28 
  29 /* Portions Copyright 2010 Robert Milkowski */
  30 
  31 #ifndef _SYS_FS_ZFS_H
  32 #define _SYS_FS_ZFS_H
  33 
  34 #include <sys/time.h>
  35 
  36 #ifdef  __cplusplus
  37 extern "C" {
  38 #endif
  39 
  40 /*
  41  * Types and constants shared between userland and the kernel.
  42  */
  43 
  44 /*


 505 #define ZPOOL_CONFIG_IS_SPARE           "is_spare"
 506 #define ZPOOL_CONFIG_NPARITY            "nparity"
 507 #define ZPOOL_CONFIG_HOSTID             "hostid"
 508 #define ZPOOL_CONFIG_HOSTNAME           "hostname"
 509 #define ZPOOL_CONFIG_LOADED_TIME        "initial_load_time"
 510 #define ZPOOL_CONFIG_UNSPARE            "unspare"
 511 #define ZPOOL_CONFIG_PHYS_PATH          "phys_path"
 512 #define ZPOOL_CONFIG_IS_LOG             "is_log"
 513 #define ZPOOL_CONFIG_L2CACHE            "l2cache"
 514 #define ZPOOL_CONFIG_HOLE_ARRAY         "hole_array"
 515 #define ZPOOL_CONFIG_VDEV_CHILDREN      "vdev_children"
 516 #define ZPOOL_CONFIG_IS_HOLE            "is_hole"
 517 #define ZPOOL_CONFIG_DDT_HISTOGRAM      "ddt_histogram"
 518 #define ZPOOL_CONFIG_DDT_OBJ_STATS      "ddt_object_stats"
 519 #define ZPOOL_CONFIG_DDT_STATS          "ddt_stats"
 520 #define ZPOOL_CONFIG_SPLIT              "splitcfg"
 521 #define ZPOOL_CONFIG_ORIG_GUID          "orig_guid"
 522 #define ZPOOL_CONFIG_SPLIT_GUID         "split_guid"
 523 #define ZPOOL_CONFIG_SPLIT_LIST         "guid_list"
 524 #define ZPOOL_CONFIG_REMOVING           "removing"
 525 #define ZPOOL_CONFIG_RESILVERING        "resilvering"
 526 #define ZPOOL_CONFIG_COMMENT            "comment"
 527 #define ZPOOL_CONFIG_SUSPENDED          "suspended"     /* not stored on disk */
 528 #define ZPOOL_CONFIG_TIMESTAMP          "timestamp"     /* not stored on disk */
 529 #define ZPOOL_CONFIG_BOOTFS             "bootfs"        /* not stored on disk */
 530 #define ZPOOL_CONFIG_MISSING_DEVICES    "missing_vdevs" /* not stored on disk */
 531 #define ZPOOL_CONFIG_LOAD_INFO          "load_info"     /* not stored on disk */
 532 #define ZPOOL_CONFIG_REWIND_INFO        "rewind_info"   /* not stored on disk */
 533 #define ZPOOL_CONFIG_UNSUP_FEAT         "unsup_feat"    /* not stored on disk */
 534 #define ZPOOL_CONFIG_ENABLED_FEAT       "enabled_feat"  /* not stored on disk */
 535 #define ZPOOL_CONFIG_CAN_RDONLY         "can_rdonly"    /* not stored on disk */
 536 #define ZPOOL_CONFIG_FEATURES_FOR_READ  "features_for_read"
 537 #define ZPOOL_CONFIG_FEATURE_STATS      "feature_stats" /* not stored on disk */
 538 /*
 539  * The persistent vdev state is stored as separate values rather than a single
 540  * 'vdev_state' entry.  This is because a device can be in multiple states, such
 541  * as offline and degraded.
 542  */
 543 #define ZPOOL_CONFIG_OFFLINE            "offline"
 544 #define ZPOOL_CONFIG_FAULTED            "faulted"
 545 #define ZPOOL_CONFIG_DEGRADED           "degraded"




   4  * The contents of this file are subject to the terms of the
   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 
  22 /*
  23  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  24  * Copyright (c) 2013 by Delphix. All rights reserved.
  25  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  26  * Copyright (c) 2012, Joyent, Inc. All rights reserved.
  27  */
  28 
  29 /* Portions Copyright 2010 Robert Milkowski */
  30 
  31 #ifndef _SYS_FS_ZFS_H
  32 #define _SYS_FS_ZFS_H
  33 
  34 #include <sys/time.h>
  35 
  36 #ifdef  __cplusplus
  37 extern "C" {
  38 #endif
  39 
  40 /*
  41  * Types and constants shared between userland and the kernel.
  42  */
  43 
  44 /*


 505 #define ZPOOL_CONFIG_IS_SPARE           "is_spare"
 506 #define ZPOOL_CONFIG_NPARITY            "nparity"
 507 #define ZPOOL_CONFIG_HOSTID             "hostid"
 508 #define ZPOOL_CONFIG_HOSTNAME           "hostname"
 509 #define ZPOOL_CONFIG_LOADED_TIME        "initial_load_time"
 510 #define ZPOOL_CONFIG_UNSPARE            "unspare"
 511 #define ZPOOL_CONFIG_PHYS_PATH          "phys_path"
 512 #define ZPOOL_CONFIG_IS_LOG             "is_log"
 513 #define ZPOOL_CONFIG_L2CACHE            "l2cache"
 514 #define ZPOOL_CONFIG_HOLE_ARRAY         "hole_array"
 515 #define ZPOOL_CONFIG_VDEV_CHILDREN      "vdev_children"
 516 #define ZPOOL_CONFIG_IS_HOLE            "is_hole"
 517 #define ZPOOL_CONFIG_DDT_HISTOGRAM      "ddt_histogram"
 518 #define ZPOOL_CONFIG_DDT_OBJ_STATS      "ddt_object_stats"
 519 #define ZPOOL_CONFIG_DDT_STATS          "ddt_stats"
 520 #define ZPOOL_CONFIG_SPLIT              "splitcfg"
 521 #define ZPOOL_CONFIG_ORIG_GUID          "orig_guid"
 522 #define ZPOOL_CONFIG_SPLIT_GUID         "split_guid"
 523 #define ZPOOL_CONFIG_SPLIT_LIST         "guid_list"
 524 #define ZPOOL_CONFIG_REMOVING           "removing"
 525 #define ZPOOL_CONFIG_RESILVER_TXG       "resilver_txg"
 526 #define ZPOOL_CONFIG_COMMENT            "comment"
 527 #define ZPOOL_CONFIG_SUSPENDED          "suspended"     /* not stored on disk */
 528 #define ZPOOL_CONFIG_TIMESTAMP          "timestamp"     /* not stored on disk */
 529 #define ZPOOL_CONFIG_BOOTFS             "bootfs"        /* not stored on disk */
 530 #define ZPOOL_CONFIG_MISSING_DEVICES    "missing_vdevs" /* not stored on disk */
 531 #define ZPOOL_CONFIG_LOAD_INFO          "load_info"     /* not stored on disk */
 532 #define ZPOOL_CONFIG_REWIND_INFO        "rewind_info"   /* not stored on disk */
 533 #define ZPOOL_CONFIG_UNSUP_FEAT         "unsup_feat"    /* not stored on disk */
 534 #define ZPOOL_CONFIG_ENABLED_FEAT       "enabled_feat"  /* not stored on disk */
 535 #define ZPOOL_CONFIG_CAN_RDONLY         "can_rdonly"    /* not stored on disk */
 536 #define ZPOOL_CONFIG_FEATURES_FOR_READ  "features_for_read"
 537 #define ZPOOL_CONFIG_FEATURE_STATS      "feature_stats" /* not stored on disk */
 538 /*
 539  * The persistent vdev state is stored as separate values rather than a single
 540  * 'vdev_state' entry.  This is because a device can be in multiple states, such
 541  * as offline and degraded.
 542  */
 543 #define ZPOOL_CONFIG_OFFLINE            "offline"
 544 #define ZPOOL_CONFIG_FAULTED            "faulted"
 545 #define ZPOOL_CONFIG_DEGRADED           "degraded"