summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRichard Yao <[email protected]>2017-06-13 12:18:08 -0400
committerBrian Behlendorf <[email protected]>2017-06-13 09:18:08 -0700
commit5228cf011626081ee5dd4b6ce6fd31857d494e93 (patch)
treecf5b578fa63b763ec7482146325a92bc90199dd3 /include
parent1fbfcf115979c707e636167fac6c10fec4ff5657 (diff)
Make zvol operations use _by_dnode routines
This continues what was started in 0eef1bde31d67091d3deed23fe2394f5a8bf2276 by fully converting zvols to avoid unnecessary dnode_hold() calls. This saves a small amount of CPU time and slightly improves latencies of operations on zvols. Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Richard Yao <[email protected]> Closes #6058
Diffstat (limited to 'include')
-rw-r--r--include/sys/dmu.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sys/dmu.h b/include/sys/dmu.h
index ea1b116be..d24615262 100644
--- a/include/sys/dmu.h
+++ b/include/sys/dmu.h
@@ -751,10 +751,13 @@ void dmu_prealloc(objset_t *os, uint64_t object, uint64_t offset, uint64_t size,
#include <linux/blkdev_compat.h>
int dmu_read_uio(objset_t *os, uint64_t object, struct uio *uio, uint64_t size);
int dmu_read_uio_dbuf(dmu_buf_t *zdb, struct uio *uio, uint64_t size);
+int dmu_read_uio_dnode(dnode_t *dn, 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_uio_dbuf(dmu_buf_t *zdb, struct uio *uio, uint64_t size,
dmu_tx_t *tx);
+int dmu_write_uio_dnode(dnode_t *dn, struct uio *uio, uint64_t size,
+ dmu_tx_t *tx);
#endif
struct arc_buf *dmu_request_arcbuf(dmu_buf_t *handle, int size);
void dmu_return_arcbuf(struct arc_buf *buf);