diff options
author | Arne Jansen <[email protected]> | 2015-09-11 09:18:56 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-09-11 11:14:38 -0700 |
commit | 4e0f33ffe018b07021f627328f0a207550d1b374 (patch) | |
tree | b4b6b7a142ae2bd29ead4a99b6e292911a097cf3 /include/sys/arc_impl.h | |
parent | 9965059ab9991a5fc7df9a489021e73880b3bcc0 (diff) |
Illumos 6214 - zpools going south
6214 zpools going south
Reviewed by: Igor Kozhukhov <[email protected]>
Reviewed by: George Wilson <[email protected]>
Reviewed by: Dan McDonald <[email protected]>
Reviewed by: Saso Kiselkov <[email protected]>
References:
https://www.illumos.org/issues/6214
http://cr.illumos.org/~webrev/sensille/6214_zpools_going_south/
Porting Notes:
Reintroduce b_compress to the l2arc_buf_hdr_t. In commit b9541d6
the compression flags were moved to the generic b_flags in the
arc_buf_hdr_t. This is a problem because l2arc_compress_buf()
may manipulate the compression flags and this can only be done
safely under the hash lock which is not held. See Illumos 6214
for a detailed analysis of the race.
HDR_GET_COMPRESS() macro was removed from arc_buf_info().
Ported-by: Brian Behlendorf <[email protected]>
Closes #3757
Diffstat (limited to 'include/sys/arc_impl.h')
-rw-r--r-- | include/sys/arc_impl.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sys/arc_impl.h b/include/sys/arc_impl.h index 5f9f49252..a9dbfc8dd 100644 --- a/include/sys/arc_impl.h +++ b/include/sys/arc_impl.h @@ -187,6 +187,7 @@ typedef struct l2arc_buf_hdr { /* real alloc'd buffer size depending on b_compress applied */ uint32_t b_hits; int32_t b_asize; + uint8_t b_compress; list_node_t b_l2node; } l2arc_buf_hdr_t; |