289 #define ZB_ZIL_OBJECT (0ULL)
290 #define ZB_ZIL_LEVEL (-2LL)
291
292 #define ZB_IS_ZERO(zb) \
293 ((zb)->zb_objset == 0 && (zb)->zb_object == 0 && \
294 (zb)->zb_level == 0 && (zb)->zb_blkid == 0)
295 #define ZB_IS_ROOT(zb) \
296 ((zb)->zb_object == ZB_ROOT_OBJECT && \
297 (zb)->zb_level == ZB_ROOT_LEVEL && \
298 (zb)->zb_blkid == ZB_ROOT_BLKID)
299
300 typedef struct zio_prop {
301 enum zio_checksum zp_checksum;
302 enum zio_compress zp_compress;
303 dmu_object_type_t zp_type;
304 uint8_t zp_level;
305 uint8_t zp_copies;
306 boolean_t zp_dedup;
307 boolean_t zp_dedup_verify;
308 boolean_t zp_nopwrite;
309 } zio_prop_t;
310
311 typedef struct zio_cksum_report zio_cksum_report_t;
312
313 typedef void zio_cksum_finish_f(zio_cksum_report_t *rep,
314 const void *good_data);
315 typedef void zio_cksum_free_f(void *cbdata, size_t size);
316
317 struct zio_bad_cksum; /* defined in zio_checksum.h */
318 struct dnode_phys;
319
320 struct zio_cksum_report {
321 struct zio_cksum_report *zcr_next;
322 nvlist_t *zcr_ereport;
323 nvlist_t *zcr_detector;
324 void *zcr_cbdata;
325 size_t zcr_cbinfo; /* passed to zcr_free() */
326 uint64_t zcr_align;
327 uint64_t zcr_length;
328 zio_cksum_finish_f *zcr_finish;
|
289 #define ZB_ZIL_OBJECT (0ULL)
290 #define ZB_ZIL_LEVEL (-2LL)
291
292 #define ZB_IS_ZERO(zb) \
293 ((zb)->zb_objset == 0 && (zb)->zb_object == 0 && \
294 (zb)->zb_level == 0 && (zb)->zb_blkid == 0)
295 #define ZB_IS_ROOT(zb) \
296 ((zb)->zb_object == ZB_ROOT_OBJECT && \
297 (zb)->zb_level == ZB_ROOT_LEVEL && \
298 (zb)->zb_blkid == ZB_ROOT_BLKID)
299
300 typedef struct zio_prop {
301 enum zio_checksum zp_checksum;
302 enum zio_compress zp_compress;
303 dmu_object_type_t zp_type;
304 uint8_t zp_level;
305 uint8_t zp_copies;
306 boolean_t zp_dedup;
307 boolean_t zp_dedup_verify;
308 boolean_t zp_nopwrite;
309 boolean_t zp_zero_write;
310 } zio_prop_t;
311
312 typedef struct zio_cksum_report zio_cksum_report_t;
313
314 typedef void zio_cksum_finish_f(zio_cksum_report_t *rep,
315 const void *good_data);
316 typedef void zio_cksum_free_f(void *cbdata, size_t size);
317
318 struct zio_bad_cksum; /* defined in zio_checksum.h */
319 struct dnode_phys;
320
321 struct zio_cksum_report {
322 struct zio_cksum_report *zcr_next;
323 nvlist_t *zcr_ereport;
324 nvlist_t *zcr_detector;
325 void *zcr_cbdata;
326 size_t zcr_cbinfo; /* passed to zcr_free() */
327 uint64_t zcr_align;
328 uint64_t zcr_length;
329 zio_cksum_finish_f *zcr_finish;
|