Update zerocopy patch to be consistent with new flags arg
passed to dmu_read(). It would be nice to have one of these for dmu_write() as well but we have do without for now.
This commit is contained in:
parent
9120dc8579
commit
1175906fbc
|
@ -601,13 +601,6 @@ dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
||||||
return (err);
|
return (err);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
|
||||||
void *buf)
|
|
||||||
{
|
|
||||||
return dmu_read_impl(os, object, offset, size, buf, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
dmu_write_impl(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
dmu_write_impl(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
||||||
const void *buf, dmu_tx_t *tx, int flags)
|
const void *buf, dmu_tx_t *tx, int flags)
|
||||||
|
@ -651,6 +644,13 @@ dmu_write_impl(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
||||||
dmu_buf_rele_array(dbp, numbufs, FTAG);
|
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
|
void
|
||||||
dmu_prealloc(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
dmu_prealloc(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
||||||
dmu_tx_t *tx)
|
dmu_tx_t *tx)
|
||||||
|
@ -672,13 +672,6 @@ dmu_prealloc(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
||||||
dmu_buf_rele_array(dbp, numbufs, FTAG);
|
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef _KERNEL
|
#ifdef _KERNEL
|
||||||
int
|
int
|
||||||
dmu_read_uio(objset_t *os, uint64_t object, uio_t *uio, uint64_t size)
|
dmu_read_uio(objset_t *os, uint64_t object, uio_t *uio, uint64_t size)
|
||||||
|
@ -1299,7 +1292,6 @@ dmu_fini(void)
|
||||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||||
EXPORT_SYMBOL(dmu_bonus_hold);
|
EXPORT_SYMBOL(dmu_bonus_hold);
|
||||||
EXPORT_SYMBOL(dmu_free_range);
|
EXPORT_SYMBOL(dmu_free_range);
|
||||||
EXPORT_SYMBOL(dmu_read_impl);
|
|
||||||
EXPORT_SYMBOL(dmu_read);
|
EXPORT_SYMBOL(dmu_read);
|
||||||
EXPORT_SYMBOL(dmu_write_impl);
|
EXPORT_SYMBOL(dmu_write_impl);
|
||||||
EXPORT_SYMBOL(dmu_write);
|
EXPORT_SYMBOL(dmu_write);
|
||||||
|
|
|
@ -156,10 +156,8 @@ void zfs_znode_byteswap(void *buf, size_t size);
|
||||||
* The maximum number of bytes that can be accessed as part of one
|
* The maximum number of bytes that can be accessed as part of one
|
||||||
* operation, including metadata.
|
* operation, including metadata.
|
||||||
*/
|
*/
|
||||||
#define DMU_MAX_ACCESS (10<<20) /* 10MB */
|
#define DMU_MAX_ACCESS (10<<20) /* 10MB */
|
||||||
#define DMU_MAX_DELETEBLKCNT (20480) /* ~5MB of indirect blocks */
|
#define DMU_MAX_DELETEBLKCNT (20480) /* ~5MB of indirect blocks */
|
||||||
#define DMU_WRITE_ZEROCOPY 0x0001
|
|
||||||
#define DMU_READ_ZEROCOPY 0x0002
|
|
||||||
|
|
||||||
#define DMU_USERUSED_OBJECT (-1ULL)
|
#define DMU_USERUSED_OBJECT (-1ULL)
|
||||||
#define DMU_GROUPUSED_OBJECT (-2ULL)
|
#define DMU_GROUPUSED_OBJECT (-2ULL)
|
||||||
|
@ -481,6 +479,8 @@ int dmu_free_object(objset_t *os, uint64_t object);
|
||||||
*/
|
*/
|
||||||
#define DMU_READ_PREFETCH 0 /* prefetch */
|
#define DMU_READ_PREFETCH 0 /* prefetch */
|
||||||
#define DMU_READ_NO_PREFETCH 1 /* don't 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,
|
int dmu_read(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
||||||
void *buf, uint32_t flags);
|
void *buf, uint32_t flags);
|
||||||
void dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
void dmu_write(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
|
||||||
|
|
Loading…
Reference in New Issue