From 06376e3a0ec512fea1ee26eb4fa3e3d8e8c381d5 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Mon, 21 Jun 2010 21:39:06 -0700 Subject: [PATCH] Revert linux-debug-zerocopy real ZC support added --- module/zfs/dmu.c | 18 ++++-------------- module/zfs/include/sys/dmu.h | 8 ++------ 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c index a8bda72578..06bc90f398 100644 --- a/module/zfs/dmu.c +++ b/module/zfs/dmu.c @@ -685,8 +685,7 @@ dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, bufoff = offset - db->db_offset; tocpy = (int)MIN(db->db_size - bufoff, size); - if (!(flags & DMU_READ_ZEROCOPY)) - bcopy((char *)db->db_data + bufoff, buf, tocpy); + bcopy((char *)db->db_data + bufoff, buf, tocpy); offset += tocpy; size -= tocpy; @@ -699,8 +698,8 @@ dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, } void -dmu_write_impl(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, - const void *buf, dmu_tx_t *tx, int flags) +dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, + const void *buf, dmu_tx_t *tx) { dmu_buf_t **dbp; int numbufs, i; @@ -728,8 +727,7 @@ dmu_write_impl(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, else dmu_buf_will_dirty(db, tx); - if (!(flags & DMU_WRITE_ZEROCOPY)) - bcopy(buf, (char *)db->db_data + bufoff, tocpy); + bcopy(buf, (char *)db->db_data + bufoff, tocpy); if (tocpy == db->db_size) dmu_buf_fill_done(db, tx); @@ -741,13 +739,6 @@ dmu_write_impl(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, dmu_buf_rele_array(dbp, numbufs, FTAG); } -void -dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, - const void *buf, dmu_tx_t *tx) -{ - dmu_write_impl(os, object, offset, size, buf, tx, 0); -} - void dmu_prealloc(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, dmu_tx_t *tx) @@ -1699,7 +1690,6 @@ dmu_fini(void) EXPORT_SYMBOL(dmu_bonus_hold); EXPORT_SYMBOL(dmu_free_range); EXPORT_SYMBOL(dmu_read); -EXPORT_SYMBOL(dmu_write_impl); EXPORT_SYMBOL(dmu_write); /* Get information on a DMU object. */ diff --git a/module/zfs/include/sys/dmu.h b/module/zfs/include/sys/dmu.h index d9d8e07322..7a75f054f4 100644 --- a/module/zfs/include/sys/dmu.h +++ b/module/zfs/include/sys/dmu.h @@ -164,8 +164,8 @@ void zfs_znode_byteswap(void *buf, size_t size); * The maximum number of bytes that can be accessed as part of one * operation, including metadata. */ -#define DMU_MAX_ACCESS (10<<20) /* 10MB */ -#define DMU_MAX_DELETEBLKCNT (20480) /* ~5MB of indirect blocks */ +#define DMU_MAX_ACCESS (10<<20) /* 10MB */ +#define DMU_MAX_DELETEBLKCNT (20480) /* ~5MB of indirect blocks */ #define DMU_USERUSED_OBJECT (-1ULL) #define DMU_GROUPUSED_OBJECT (-2ULL) @@ -505,12 +505,8 @@ int dmu_free_object(objset_t *os, uint64_t object); */ #define DMU_READ_PREFETCH 0 /* prefetch */ #define DMU_READ_NO_PREFETCH 1 /* don't prefetch */ -#define DMU_READ_ZEROCOPY 2 /* zerocopy on read (test) */ -#define DMU_WRITE_ZEROCOPY 4 /* zerocopy on write (test) */ int dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size, void *buf, uint32_t flags); -void dmu_write_impl(objset_t *os, uint64_t object, uint64_t offset, - uint64_t size, const void *buf, dmu_tx_t *tx, int flags); 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,