Lines Matching refs:checksum

292 zio_checksum_template_init(enum zio_checksum checksum, spa_t *spa)  in zio_checksum_template_init()  argument
294 zio_checksum_info_t *ci = &zio_checksum_table[checksum]; in zio_checksum_template_init()
298 if (spa->spa_cksum_tmpls[checksum] != NULL) in zio_checksum_template_init()
303 if (spa->spa_cksum_tmpls[checksum] == NULL) { in zio_checksum_template_init()
304 spa->spa_cksum_tmpls[checksum] = in zio_checksum_template_init()
306 VERIFY(spa->spa_cksum_tmpls[checksum] != NULL); in zio_checksum_template_init()
334 zio_checksum_compute(zio_t *zio, enum zio_checksum checksum, in zio_checksum_compute() argument
345 ASSERT((uint_t)checksum < ZIO_CHECKSUM_FUNCTIONS); in zio_checksum_compute()
346 ci = &zio_checksum_table[checksum]; in zio_checksum_compute()
350 zio_checksum_template_init(checksum, spa); in zio_checksum_compute()
358 if (checksum == ZIO_CHECKSUM_ZILOG2) { in zio_checksum_compute()
372 if (checksum == ZIO_CHECKSUM_GANG_HEADER) { in zio_checksum_compute()
374 } else if (checksum == ZIO_CHECKSUM_LABEL) { in zio_checksum_compute()
388 ci->ci_func[0](abd, size, spa->spa_cksum_tmpls[checksum], in zio_checksum_compute()
399 ci->ci_func[0](abd, size, spa->spa_cksum_tmpls[checksum], in zio_checksum_compute()
409 enum zio_checksum checksum, abd_t *abd, uint64_t size, in zio_checksum_error_impl() argument
417 if (checksum >= ZIO_CHECKSUM_FUNCTIONS) in zio_checksum_error_impl()
420 ci = &zio_checksum_table[checksum]; in zio_checksum_error_impl()
425 zio_checksum_template_init(checksum, spa); in zio_checksum_error_impl()
431 if (checksum == ZIO_CHECKSUM_ZILOG2) { in zio_checksum_error_impl()
461 if (checksum == ZIO_CHECKSUM_GANG_HEADER) in zio_checksum_error_impl()
463 else if (checksum == ZIO_CHECKSUM_LABEL) in zio_checksum_error_impl()
479 spa->spa_cksum_tmpls[checksum], &actual_cksum); in zio_checksum_error_impl()
492 spa->spa_cksum_tmpls[checksum], &actual_cksum); in zio_checksum_error_impl()
533 uint_t checksum = (bp == NULL ? zio->io_prop.zp_checksum : in zio_checksum_error() local
542 error = zio_checksum_error_impl(spa, bp, checksum, data, size, in zio_checksum_error()
562 for (enum zio_checksum checksum = 0; in zio_checksum_templates_free() local
563 checksum < ZIO_CHECKSUM_FUNCTIONS; checksum++) { in zio_checksum_templates_free()
564 if (spa->spa_cksum_tmpls[checksum] != NULL) { in zio_checksum_templates_free()
565 zio_checksum_info_t *ci = &zio_checksum_table[checksum]; in zio_checksum_templates_free()
568 ci->ci_tmpl_free(spa->spa_cksum_tmpls[checksum]); in zio_checksum_templates_free()
569 spa->spa_cksum_tmpls[checksum] = NULL; in zio_checksum_templates_free()