diff --git a/.topdeps b/.topdeps index 736703fbec..a8059c3552 100644 --- a/.topdeps +++ b/.topdeps @@ -1 +1 @@ -linux-kernel-module +linux-debug-zerocopy diff --git a/.topmsg b/.topmsg index 63a8108fc5..39952c5d9c 100644 --- a/.topmsg +++ b/.topmsg @@ -1,6 +1,6 @@ From: Brian Behlendorf -Subject: [PATCH] linux debug zerocopy +Subject: [PATCH] linux have uio rw -Add debug ONLY option for zerocopy +Use uio-rw if HAVE_UIO_RW defined Signed-off-by: Brian Behlendorf diff --git a/zfs/lib/libzpool/dmu.c b/zfs/lib/libzpool/dmu.c index 3d6a99c57a..1033540c53 100644 --- a/zfs/lib/libzpool/dmu.c +++ b/zfs/lib/libzpool/dmu.c @@ -675,7 +675,7 @@ dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, dmu_write_impl(os, object, offset, size, buf, tx, 0); } -#ifdef _KERNEL +#if defined(_KERNEL) && defined(HAVE_UIO_RW) int dmu_read_uio(objset_t *os, uint64_t object, uio_t *uio, uint64_t size) { diff --git a/zfs/lib/libzpool/include/sys/dmu.h b/zfs/lib/libzpool/include/sys/dmu.h index fa2f8eff57..15da305d78 100644 --- a/zfs/lib/libzpool/include/sys/dmu.h +++ b/zfs/lib/libzpool/include/sys/dmu.h @@ -484,11 +484,13 @@ void dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, const void *buf, dmu_tx_t *tx); void dmu_prealloc(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, dmu_tx_t *tx); +#if defined(_KERNEL) && defined(HAVE_UIO_RW) int dmu_read_uio(objset_t *os, uint64_t object, struct uio *uio, uint64_t size); int dmu_write_uio(objset_t *os, uint64_t object, struct uio *uio, uint64_t size, dmu_tx_t *tx); int dmu_write_pages(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, struct page *pp, dmu_tx_t *tx); +#endif extern int zfs_prefetch_disable;