summaryrefslogtreecommitdiffstats
path: root/module/zfs/dmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'module/zfs/dmu.c')
-rw-r--r--module/zfs/dmu.c52
1 files changed, 1 insertions, 51 deletions
diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c
index 6eb935720..a21ac8d74 100644
--- a/module/zfs/dmu.c
+++ b/module/zfs/dmu.c
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, 2018 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2020 by Delphix. All rights reserved.
* Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
* Copyright (c) 2016, Nexenta Systems, Inc. All rights reserved.
@@ -1560,56 +1560,6 @@ dmu_return_arcbuf(arc_buf_t *buf)
arc_buf_destroy(buf, FTAG);
}
-void
-dmu_copy_from_buf(objset_t *os, uint64_t object, uint64_t offset,
- dmu_buf_t *handle, dmu_tx_t *tx)
-{
- dmu_buf_t *dst_handle;
- dmu_buf_impl_t *dstdb;
- dmu_buf_impl_t *srcdb = (dmu_buf_impl_t *)handle;
- dmu_object_type_t type;
- arc_buf_t *abuf;
- uint64_t datalen;
- boolean_t byteorder;
- uint8_t salt[ZIO_DATA_SALT_LEN];
- uint8_t iv[ZIO_DATA_IV_LEN];
- uint8_t mac[ZIO_DATA_MAC_LEN];
-
- ASSERT3P(srcdb->db_buf, !=, NULL);
-
- /* hold the db that we want to write to */
- VERIFY0(dmu_buf_hold(os, object, offset, FTAG, &dst_handle,
- DMU_READ_NO_DECRYPT));
- dstdb = (dmu_buf_impl_t *)dst_handle;
- datalen = arc_buf_size(srcdb->db_buf);
-
- DB_DNODE_ENTER(dstdb);
- type = DB_DNODE(dstdb)->dn_type;
- DB_DNODE_EXIT(dstdb);
-
- /* allocated an arc buffer that matches the type of srcdb->db_buf */
- if (arc_is_encrypted(srcdb->db_buf)) {
- arc_get_raw_params(srcdb->db_buf, &byteorder, salt, iv, mac);
- abuf = arc_loan_raw_buf(os->os_spa, dmu_objset_id(os),
- byteorder, salt, iv, mac, type,
- datalen, arc_buf_lsize(srcdb->db_buf),
- arc_get_compression(srcdb->db_buf));
- } else {
- /* we won't get a compressed db back from dmu_buf_hold() */
- ASSERT3U(arc_get_compression(srcdb->db_buf),
- ==, ZIO_COMPRESS_OFF);
- abuf = arc_loan_buf(os->os_spa,
- DMU_OT_IS_METADATA(type), datalen);
- }
-
- ASSERT3U(datalen, ==, arc_buf_size(abuf));
-
- /* copy the data to the new buffer and assign it to the dstdb */
- bcopy(srcdb->db_buf->b_data, abuf->b_data, datalen);
- dbuf_assign_arcbuf(dstdb, abuf, tx);
- dmu_buf_rele(dst_handle, FTAG);
-}
-
/*
* When possible directly assign passed loaned arc buffer to a dbuf.
* If this is not possible copy the contents of passed arc buf via