62 (SPA_GBH_NBLKPTRS * sizeof (blkptr_t))) /\
63 sizeof (uint64_t))
64
65 typedef struct zio_gbh {
66 blkptr_t zg_blkptr[SPA_GBH_NBLKPTRS];
67 uint64_t zg_filler[SPA_GBH_FILLER];
68 zio_eck_t zg_tail;
69 } zio_gbh_phys_t;
70
71 enum zio_checksum {
72 ZIO_CHECKSUM_INHERIT = 0,
73 ZIO_CHECKSUM_ON,
74 ZIO_CHECKSUM_OFF,
75 ZIO_CHECKSUM_LABEL,
76 ZIO_CHECKSUM_GANG_HEADER,
77 ZIO_CHECKSUM_ZILOG,
78 ZIO_CHECKSUM_FLETCHER_2,
79 ZIO_CHECKSUM_FLETCHER_4,
80 ZIO_CHECKSUM_SHA256,
81 ZIO_CHECKSUM_ZILOG2,
82 ZIO_CHECKSUM_FUNCTIONS
83 };
84
85 #define ZIO_CHECKSUM_ON_VALUE ZIO_CHECKSUM_FLETCHER_4
86 #define ZIO_CHECKSUM_DEFAULT ZIO_CHECKSUM_ON
87
88 #define ZIO_CHECKSUM_MASK 0xffULL
89 #define ZIO_CHECKSUM_VERIFY (1 << 8)
90
91 #define ZIO_DEDUPCHECKSUM ZIO_CHECKSUM_SHA256
92 #define ZIO_DEDUPDITTO_MIN 100
93
94 enum zio_compress {
95 ZIO_COMPRESS_INHERIT = 0,
96 ZIO_COMPRESS_ON,
97 ZIO_COMPRESS_OFF,
98 ZIO_COMPRESS_LZJB,
99 ZIO_COMPRESS_EMPTY,
100 ZIO_COMPRESS_GZIP_1,
101 ZIO_COMPRESS_GZIP_2,
|
62 (SPA_GBH_NBLKPTRS * sizeof (blkptr_t))) /\
63 sizeof (uint64_t))
64
65 typedef struct zio_gbh {
66 blkptr_t zg_blkptr[SPA_GBH_NBLKPTRS];
67 uint64_t zg_filler[SPA_GBH_FILLER];
68 zio_eck_t zg_tail;
69 } zio_gbh_phys_t;
70
71 enum zio_checksum {
72 ZIO_CHECKSUM_INHERIT = 0,
73 ZIO_CHECKSUM_ON,
74 ZIO_CHECKSUM_OFF,
75 ZIO_CHECKSUM_LABEL,
76 ZIO_CHECKSUM_GANG_HEADER,
77 ZIO_CHECKSUM_ZILOG,
78 ZIO_CHECKSUM_FLETCHER_2,
79 ZIO_CHECKSUM_FLETCHER_4,
80 ZIO_CHECKSUM_SHA256,
81 ZIO_CHECKSUM_ZILOG2,
82 ZIO_CHECKSUM_EDONR512_256,
83 ZIO_CHECKSUM_FUNCTIONS
84 };
85
86 #define ZIO_CHECKSUM_ON_VALUE ZIO_CHECKSUM_FLETCHER_4
87 #define ZIO_CHECKSUM_DEFAULT ZIO_CHECKSUM_ON
88
89 #define ZIO_CHECKSUM_MASK 0xffULL
90 #define ZIO_CHECKSUM_VERIFY (1 << 8)
91
92 #define ZIO_DEDUPCHECKSUM ZIO_CHECKSUM_SHA256
93 #define ZIO_DEDUPDITTO_MIN 100
94
95 enum zio_compress {
96 ZIO_COMPRESS_INHERIT = 0,
97 ZIO_COMPRESS_ON,
98 ZIO_COMPRESS_OFF,
99 ZIO_COMPRESS_LZJB,
100 ZIO_COMPRESS_EMPTY,
101 ZIO_COMPRESS_GZIP_1,
102 ZIO_COMPRESS_GZIP_2,
|