From 84c07adadb2486e4049032e43e1f38650ca75289 Mon Sep 17 00:00:00 2001 From: Gvozden Neskovic Date: Thu, 5 Jan 2017 14:10:07 -0500 Subject: Remove dependency on linear ABD Wherever possible it's best to avoid depending on a linear ABD. Update the code accordingly in the following areas. - vdev_raidz - zio, zio_checksum - zfs_fm - change abd_alloc_for_io() to use abd_alloc() Reviewed-by: David Quigley Reviewed-by: Brian Behlendorf Signed-off-by: Gvozden Neskovic Closes #5668 --- include/sys/zio.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include/sys/zio.h') diff --git a/include/sys/zio.h b/include/sys/zio.h index dc6c46814..54b106f05 100644 --- a/include/sys/zio.h +++ b/include/sys/zio.h @@ -296,7 +296,7 @@ typedef struct zio_prop { typedef struct zio_cksum_report zio_cksum_report_t; typedef void zio_cksum_finish_f(zio_cksum_report_t *rep, - const void *good_data); + const abd_t *good_data); typedef void zio_cksum_free_f(void *cbdata, size_t size); struct zio_bad_cksum; /* defined in zio_checksum.h */ @@ -587,14 +587,14 @@ extern hrtime_t zio_handle_io_delay(zio_t *zio); extern void zfs_ereport_start_checksum(spa_t *spa, vdev_t *vd, struct zio *zio, uint64_t offset, uint64_t length, void *arg, struct zio_bad_cksum *info); extern void zfs_ereport_finish_checksum(zio_cksum_report_t *report, - const void *good_data, const void *bad_data, boolean_t drop_if_identical); + const abd_t *good_data, const abd_t *bad_data, boolean_t drop_if_identical); extern void zfs_ereport_free_checksum(zio_cksum_report_t *report); /* If we have the good data in hand, this function can be used */ extern void zfs_ereport_post_checksum(spa_t *spa, vdev_t *vd, struct zio *zio, uint64_t offset, uint64_t length, - const void *good_data, const void *bad_data, struct zio_bad_cksum *info); + const abd_t *good_data, const abd_t *bad_data, struct zio_bad_cksum *info); /* Called from spa_sync(), but primarily an injection handler */ extern void spa_handle_ignored_writes(spa_t *spa); -- cgit v1.2.3