Print this page
3525 Persistent L2ARC


   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 /*
  45  * Each dataset can be one of the following types.  These constants can be
  46  * combined into masks that can be passed to various functions.


 494 #define ZPOOL_CONFIG_METASLAB_ARRAY     "metaslab_array"
 495 #define ZPOOL_CONFIG_METASLAB_SHIFT     "metaslab_shift"
 496 #define ZPOOL_CONFIG_ASHIFT             "ashift"
 497 #define ZPOOL_CONFIG_ASIZE              "asize"
 498 #define ZPOOL_CONFIG_DTL                "DTL"
 499 #define ZPOOL_CONFIG_SCAN_STATS         "scan_stats"    /* not stored on disk */
 500 #define ZPOOL_CONFIG_VDEV_STATS         "vdev_stats"    /* not stored on disk */
 501 #define ZPOOL_CONFIG_WHOLE_DISK         "whole_disk"
 502 #define ZPOOL_CONFIG_ERRCOUNT           "error_count"
 503 #define ZPOOL_CONFIG_NOT_PRESENT        "not_present"
 504 #define ZPOOL_CONFIG_SPARES             "spares"
 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 */




   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  * Copyright (c) 2013, Saso Kiselkov. All rights reserved.
  28  */
  29 
  30 /* Portions Copyright 2010 Robert Milkowski */
  31 
  32 #ifndef _SYS_FS_ZFS_H
  33 #define _SYS_FS_ZFS_H
  34 
  35 #include <sys/time.h>
  36 
  37 #ifdef  __cplusplus
  38 extern "C" {
  39 #endif
  40 
  41 /*
  42  * Types and constants shared between userland and the kernel.
  43  */
  44 
  45 /*
  46  * Each dataset can be one of the following types.  These constants can be
  47  * combined into masks that can be passed to various functions.


 495 #define ZPOOL_CONFIG_METASLAB_ARRAY     "metaslab_array"
 496 #define ZPOOL_CONFIG_METASLAB_SHIFT     "metaslab_shift"
 497 #define ZPOOL_CONFIG_ASHIFT             "ashift"
 498 #define ZPOOL_CONFIG_ASIZE              "asize"
 499 #define ZPOOL_CONFIG_DTL                "DTL"
 500 #define ZPOOL_CONFIG_SCAN_STATS         "scan_stats"    /* not stored on disk */
 501 #define ZPOOL_CONFIG_VDEV_STATS         "vdev_stats"    /* not stored on disk */
 502 #define ZPOOL_CONFIG_WHOLE_DISK         "whole_disk"
 503 #define ZPOOL_CONFIG_ERRCOUNT           "error_count"
 504 #define ZPOOL_CONFIG_NOT_PRESENT        "not_present"
 505 #define ZPOOL_CONFIG_SPARES             "spares"
 506 #define ZPOOL_CONFIG_IS_SPARE           "is_spare"
 507 #define ZPOOL_CONFIG_NPARITY            "nparity"
 508 #define ZPOOL_CONFIG_HOSTID             "hostid"
 509 #define ZPOOL_CONFIG_HOSTNAME           "hostname"
 510 #define ZPOOL_CONFIG_LOADED_TIME        "initial_load_time"
 511 #define ZPOOL_CONFIG_UNSPARE            "unspare"
 512 #define ZPOOL_CONFIG_PHYS_PATH          "phys_path"
 513 #define ZPOOL_CONFIG_IS_LOG             "is_log"
 514 #define ZPOOL_CONFIG_L2CACHE            "l2cache"
 515 #define ZPOOL_CONFIG_L2CACHE_PERSISTENT "l2cache_persistent"
 516 #define ZPOOL_CONFIG_HOLE_ARRAY         "hole_array"
 517 #define ZPOOL_CONFIG_VDEV_CHILDREN      "vdev_children"
 518 #define ZPOOL_CONFIG_IS_HOLE            "is_hole"
 519 #define ZPOOL_CONFIG_DDT_HISTOGRAM      "ddt_histogram"
 520 #define ZPOOL_CONFIG_DDT_OBJ_STATS      "ddt_object_stats"
 521 #define ZPOOL_CONFIG_DDT_STATS          "ddt_stats"
 522 #define ZPOOL_CONFIG_SPLIT              "splitcfg"
 523 #define ZPOOL_CONFIG_ORIG_GUID          "orig_guid"
 524 #define ZPOOL_CONFIG_SPLIT_GUID         "split_guid"
 525 #define ZPOOL_CONFIG_SPLIT_LIST         "guid_list"
 526 #define ZPOOL_CONFIG_REMOVING           "removing"
 527 #define ZPOOL_CONFIG_RESILVERING        "resilvering"
 528 #define ZPOOL_CONFIG_COMMENT            "comment"
 529 #define ZPOOL_CONFIG_SUSPENDED          "suspended"     /* not stored on disk */
 530 #define ZPOOL_CONFIG_TIMESTAMP          "timestamp"     /* not stored on disk */
 531 #define ZPOOL_CONFIG_BOOTFS             "bootfs"        /* not stored on disk */
 532 #define ZPOOL_CONFIG_MISSING_DEVICES    "missing_vdevs" /* not stored on disk */
 533 #define ZPOOL_CONFIG_LOAD_INFO          "load_info"     /* not stored on disk */
 534 #define ZPOOL_CONFIG_REWIND_INFO        "rewind_info"   /* not stored on disk */
 535 #define ZPOOL_CONFIG_UNSUP_FEAT         "unsup_feat"    /* not stored on disk */