Illumos #3137 L2ARC compression
[zfs.git] / include / sys / arc.h
index c88c311..6788219 100644 (file)
@@ -21,6 +21,7 @@
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
  */
 
 #ifndef        _SYS_ARC_H
@@ -78,6 +79,7 @@ typedef enum arc_buf_contents {
 #define        ARC_PREFETCH    (1 << 3)        /* I/O is a prefetch */
 #define        ARC_CACHED      (1 << 4)        /* I/O was already in cache */
 #define        ARC_L2CACHE     (1 << 5)        /* cache in L2ARC */
+#define        ARC_L2COMPRESS  (1 << 6)        /* compress in L2ARC */
 
 /*
  * The following breakdows of arc_size exist for kstat only.
@@ -114,9 +116,9 @@ int arc_read(zio_t *pio, spa_t *spa, const blkptr_t *bp,
     arc_done_func_t *done, void *private, int priority, int flags,
     uint32_t *arc_flags, const zbookmark_t *zb);
 zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg,
-    blkptr_t *bp, arc_buf_t *buf, boolean_t l2arc, const zio_prop_t *zp,
-    arc_done_func_t *ready, arc_done_func_t *done, void *private,
-    int priority, int zio_flags, const zbookmark_t *zb);
+    blkptr_t *bp, arc_buf_t *buf, boolean_t l2arc, boolean_t l2arc_compress,
+    const zio_prop_t *zp, arc_done_func_t *ready, arc_done_func_t *done,
+    void *private, int priority, int zio_flags, const zbookmark_t *zb);
 
 arc_prune_t *arc_add_prune_callback(arc_prune_func_t *func, void *private);
 void arc_remove_prune_callback(arc_prune_t *p);