Mercurial > illumos > illumos-gate
comparison usr/src/uts/common/fs/zfs/sys/arc.h @ 14039:6cfd5a5778b9
3137 L2ARC compression
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Dan McDonald <danmcd@nexenta.com>
author | Saso Kiselkov <skiselkov@gmail.com> |
---|---|
date | Wed, 05 Jun 2013 11:57:05 -0400 |
parents | 4972ab336f54 |
children | cb4a51285eeb |
comparison
equal
deleted
inserted
replaced
14038:597d3800949a | 14039:6cfd5a5778b9 |
---|---|
19 * CDDL HEADER END | 19 * CDDL HEADER END |
20 */ | 20 */ |
21 /* | 21 /* |
22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. | 22 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. |
23 * Copyright (c) 2012 by Delphix. All rights reserved. | 23 * Copyright (c) 2012 by Delphix. All rights reserved. |
24 * Copyright (c) 2013 by Saso Kiselkov. All rights reserved. | |
24 */ | 25 */ |
25 | 26 |
26 #ifndef _SYS_ARC_H | 27 #ifndef _SYS_ARC_H |
27 #define _SYS_ARC_H | 28 #define _SYS_ARC_H |
28 | 29 |
65 #define ARC_WAIT (1 << 1) /* perform I/O synchronously */ | 66 #define ARC_WAIT (1 << 1) /* perform I/O synchronously */ |
66 #define ARC_NOWAIT (1 << 2) /* perform I/O asynchronously */ | 67 #define ARC_NOWAIT (1 << 2) /* perform I/O asynchronously */ |
67 #define ARC_PREFETCH (1 << 3) /* I/O is a prefetch */ | 68 #define ARC_PREFETCH (1 << 3) /* I/O is a prefetch */ |
68 #define ARC_CACHED (1 << 4) /* I/O was already in cache */ | 69 #define ARC_CACHED (1 << 4) /* I/O was already in cache */ |
69 #define ARC_L2CACHE (1 << 5) /* cache in L2ARC */ | 70 #define ARC_L2CACHE (1 << 5) /* cache in L2ARC */ |
71 #define ARC_L2COMPRESS (1 << 6) /* compress in L2ARC */ | |
70 | 72 |
71 /* | 73 /* |
72 * The following breakdows of arc_size exist for kstat only. | 74 * The following breakdows of arc_size exist for kstat only. |
73 */ | 75 */ |
74 typedef enum arc_space_type { | 76 typedef enum arc_space_type { |
103 | 105 |
104 int arc_read(zio_t *pio, spa_t *spa, const blkptr_t *bp, | 106 int arc_read(zio_t *pio, spa_t *spa, const blkptr_t *bp, |
105 arc_done_func_t *done, void *private, int priority, int flags, | 107 arc_done_func_t *done, void *private, int priority, int flags, |
106 uint32_t *arc_flags, const zbookmark_t *zb); | 108 uint32_t *arc_flags, const zbookmark_t *zb); |
107 zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg, | 109 zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg, |
108 blkptr_t *bp, arc_buf_t *buf, boolean_t l2arc, const zio_prop_t *zp, | 110 blkptr_t *bp, arc_buf_t *buf, boolean_t l2arc, boolean_t l2arc_compress, |
109 arc_done_func_t *ready, arc_done_func_t *done, void *private, | 111 const zio_prop_t *zp, arc_done_func_t *ready, arc_done_func_t *done, |
110 int priority, int zio_flags, const zbookmark_t *zb); | 112 void *private, int priority, int zio_flags, const zbookmark_t *zb); |
111 | 113 |
112 void arc_set_callback(arc_buf_t *buf, arc_evict_func_t *func, void *private); | 114 void arc_set_callback(arc_buf_t *buf, arc_evict_func_t *func, void *private); |
113 int arc_buf_evict(arc_buf_t *buf); | 115 int arc_buf_evict(arc_buf_t *buf); |
114 | 116 |
115 void arc_flush(spa_t *spa); | 117 void arc_flush(spa_t *spa); |