]> git.proxmox.com Git - mirror_zfs.git/blobdiff - include/sys/fs/zfs.h
Pool allocation classes
[mirror_zfs.git] / include / sys / fs / zfs.h
index c8c7cebae7c817981278516cf45f817b2ce77ce1..6bbf8434619ce929fe4ea81ff1e40484205d4186 100644 (file)
@@ -26,6 +26,7 @@
  * Copyright (c) 2013, 2017 Joyent, Inc. All rights reserved.
  * Copyright (c) 2014 Integros [integros.com]
  * Copyright (c) 2017 Datto Inc.
+ * Copyright (c) 2017, Intel Corporation.
  */
 
 /* Portions Copyright 2010 Robert Milkowski */
@@ -181,6 +182,7 @@ typedef enum {
        ZFS_PROP_KEY_GUID,
        ZFS_PROP_KEYSTATUS,
        ZFS_PROP_REMAPTXG,              /* not exposed to the user */
+       ZFS_PROP_SPECIAL_SMALL_BLOCKS,
        ZFS_NUM_PROPS
 } zfs_prop_t;
 
@@ -713,6 +715,7 @@ typedef struct zpool_load_policy {
 #define        ZPOOL_CONFIG_MMP_TXG            "mmp_txg"       /* not stored on disk */
 #define        ZPOOL_CONFIG_MMP_HOSTNAME       "mmp_hostname"  /* not stored on disk */
 #define        ZPOOL_CONFIG_MMP_HOSTID         "mmp_hostid"    /* not stored on disk */
+#define        ZPOOL_CONFIG_ALLOCATION_BIAS    "alloc_bias"    /* not stored on disk */
 
 /*
  * The persistent vdev state is stored as separate values rather than a single
@@ -759,6 +762,14 @@ typedef struct zpool_load_policy {
 #define        VDEV_TOP_ZAP_POOL_CHECKPOINT_SM \
        "com.delphix:pool_checkpoint_sm"
 
+#define        VDEV_TOP_ZAP_ALLOCATION_BIAS \
+       "org.zfsonlinux:allocation_bias"
+
+/* vdev metaslab allocation bias */
+#define        VDEV_ALLOC_BIAS_LOG             "log"
+#define        VDEV_ALLOC_BIAS_SPECIAL         "special"
+#define        VDEV_ALLOC_BIAS_DEDUP           "dedup"
+
 /*
  * This is needed in userland to report the minimum necessary device size.
  */