diff options
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/dmu_send.h | 1 | ||||
-rw-r--r-- | include/sys/dsl_crypt.h | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/include/sys/dmu_send.h b/include/sys/dmu_send.h index 19d9a2d44..c0b2aafdb 100644 --- a/include/sys/dmu_send.h +++ b/include/sys/dmu_send.h @@ -64,6 +64,7 @@ typedef struct dmu_recv_cookie { boolean_t drc_raw; boolean_t drc_clone; struct avl_tree *drc_guid_to_ds_map; + nvlist_t *drc_keynvl; zio_cksum_t drc_cksum; uint64_t drc_newsnapobj; void *drc_owner; diff --git a/include/sys/dsl_crypt.h b/include/sys/dsl_crypt.h index d0c789035..efa3839f4 100644 --- a/include/sys/dsl_crypt.h +++ b/include/sys/dsl_crypt.h @@ -189,8 +189,12 @@ int spa_keystore_lookup_key(spa_t *spa, uint64_t dsobj, void *tag, dsl_crypto_key_t **dck_out); int dsl_crypto_populate_key_nvlist(struct dsl_dataset *ds, nvlist_t **nvl_out); -int dsl_crypto_recv_key(const char *poolname, uint64_t dsobj, - dmu_objset_type_t ostype, nvlist_t *nvl); +int dsl_crypto_recv_raw_key_check(struct dsl_dataset *ds, + nvlist_t *nvl, dmu_tx_t *tx); +void dsl_crypto_recv_raw_key_sync(struct dsl_dataset *ds, + nvlist_t *nvl, dmu_tx_t *tx); +int dsl_crypto_recv_raw(const char *poolname, uint64_t dsobj, + dmu_objset_type_t ostype, nvlist_t *nvl, boolean_t do_key); int spa_keystore_change_key(const char *dsname, dsl_crypto_params_t *dcp); int dsl_dir_rename_crypt_check(dsl_dir_t *dd, dsl_dir_t *newparent); |