mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 18:40:43 +03:00
Adopt pyzfs from ClusterHQ
This commit introduces several changes: * Update LICENSE and project information * Give a good PEP8 talk to existing Python source code * Add RPM/DEB packaging for pyzfs * Fix some outstanding issues with the existing pyzfs code caused by changes in the ABI since the last time the code was updated * Integrate pyzfs Python unittest with the ZFS Test Suite * Add missing libzfs_core functions: lzc_change_key, lzc_channel_program, lzc_channel_program_nosync, lzc_load_key, lzc_receive_one, lzc_receive_resumable, lzc_receive_with_cmdprops, lzc_receive_with_header, lzc_reopen, lzc_send_resume, lzc_sync, lzc_unload_key, lzc_remap Note: this commit slightly changes zfs_ioc_unload_key() ABI. This allow to differentiate the case where we tried to unload a key on a non-existing dataset (ENOENT) from the situation where a dataset has no key loaded: this is consistent with the "change" case where trying to zfs_ioc_change_key() from a dataset with no key results in EACCES. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes #7230
This commit is contained in:
committed by
Brian Behlendorf
parent
6abf922574
commit
85ce3f4fd1
@@ -866,7 +866,7 @@ spa_keystore_unload_wkey_impl(spa_t *spa, uint64_t ddobj)
|
||||
found_wkey = avl_find(&spa->spa_keystore.sk_wkeys,
|
||||
&search_wkey, NULL);
|
||||
if (!found_wkey) {
|
||||
ret = SET_ERROR(ENOENT);
|
||||
ret = SET_ERROR(EACCES);
|
||||
goto error_unlock;
|
||||
} else if (refcount_count(&found_wkey->wk_refcnt) != 0) {
|
||||
ret = SET_ERROR(EBUSY);
|
||||
@@ -1225,7 +1225,7 @@ spa_keystore_change_key_check(void *arg, dmu_tx_t *tx)
|
||||
if (ret != 0)
|
||||
goto error;
|
||||
|
||||
/* Handle inheritence */
|
||||
/* Handle inheritance */
|
||||
if (dcp->cp_cmd == DCP_CMD_INHERIT ||
|
||||
dcp->cp_cmd == DCP_CMD_FORCE_INHERIT) {
|
||||
/* no other encryption params should be given */
|
||||
@@ -1757,7 +1757,7 @@ dmu_objset_create_crypt_check(dsl_dir_t *parentdd, dsl_crypto_params_t *dcp)
|
||||
return (SET_ERROR(EOPNOTSUPP));
|
||||
}
|
||||
|
||||
/* handle inheritence */
|
||||
/* handle inheritance */
|
||||
if (dcp->cp_wkey == NULL) {
|
||||
ASSERT3P(parentdd, !=, NULL);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user