]> git.proxmox.com Git - mirror_zfs-debian.git/blobdiff - include/sys/zio.h
Imported Upstream version 0.6.5.3
[mirror_zfs-debian.git] / include / sys / zio.h
index 18e7a40a308085f60ebb70d2c62c38bce1949a2e..278b6e0868a9038fa27afc1aee185229bc4b071c 100644 (file)
@@ -123,14 +123,19 @@ enum zio_compress {
  */
 #define        ZIO_COMPRESS_LEGACY_FUNCTIONS ZIO_COMPRESS_LZ4
 
-#define        ZIO_COMPRESS_ON_VALUE   ZIO_COMPRESS_LZJB
-#define        ZIO_COMPRESS_DEFAULT    ZIO_COMPRESS_OFF
+/*
+ * The meaning of "compress = on" selected by the compression features enabled
+ * on a given pool.
+ */
+#define        ZIO_COMPRESS_LEGACY_ON_VALUE    ZIO_COMPRESS_LZJB
+#define        ZIO_COMPRESS_LZ4_ON_VALUE       ZIO_COMPRESS_LZ4
+
+#define        ZIO_COMPRESS_DEFAULT            ZIO_COMPRESS_OFF
 
 #define        BOOTFS_COMPRESS_VALID(compress)                 \
        ((compress) == ZIO_COMPRESS_LZJB ||             \
        (compress) == ZIO_COMPRESS_LZ4 ||               \
-       ((compress) == ZIO_COMPRESS_ON &&               \
-       ZIO_COMPRESS_ON_VALUE == ZIO_COMPRESS_LZJB) ||  \
+       (compress) == ZIO_COMPRESS_ON ||                \
        (compress) == ZIO_COMPRESS_OFF)
 
 /*
@@ -153,9 +158,6 @@ typedef enum zio_priority {
        ZIO_PRIORITY_NOW                /* non-queued i/os (e.g. free) */
 } zio_priority_t;
 
-#define        ZIO_PIPELINE_CONTINUE           0x100
-#define        ZIO_PIPELINE_STOP               0x101
-
 enum zio_flag {
        /*
         * Flags inherited by gang, ddt, and vdev children,
@@ -427,6 +429,7 @@ struct zio {
        hrtime_t        io_delta;       /* vdev queue service delta */
        uint64_t        io_delay;       /* vdev disk service delta (ticks) */
        avl_node_t      io_queue_node;
+       avl_node_t      io_offset_node;
 
        /* Internal pipeline state */
        enum zio_flag   io_flags;
@@ -545,8 +548,8 @@ extern enum zio_checksum zio_checksum_select(enum zio_checksum child,
     enum zio_checksum parent);
 extern enum zio_checksum zio_checksum_dedup_select(spa_t *spa,
     enum zio_checksum child, enum zio_checksum parent);
-extern enum zio_compress zio_compress_select(enum zio_compress child,
-    enum zio_compress parent);
+extern enum zio_compress zio_compress_select(spa_t *spa,
+    enum zio_compress child, enum zio_compress parent);
 
 extern void zio_suspend(spa_t *spa, zio_t *zio);
 extern int zio_resume(spa_t *spa);