diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libzfs/libzfs_crypto.c | 4 | ||||
-rw-r--r-- | lib/libzfs_core/libzfs_core.c | 15 |
2 files changed, 14 insertions, 5 deletions
diff --git a/lib/libzfs/libzfs_crypto.c b/lib/libzfs/libzfs_crypto.c index 9ad0fae7d..0956466e2 100644 --- a/lib/libzfs/libzfs_crypto.c +++ b/lib/libzfs/libzfs_crypto.c @@ -1185,7 +1185,7 @@ zfs_crypto_unload_key(zfs_handle_t *zhp) if (keystatus == ZFS_KEYSTATUS_UNAVAILABLE) { zfs_error_aux(zhp->zfs_hdl, dgettext(TEXT_DOMAIN, "Key already unloaded for '%s'."), zfs_get_name(zhp)); - ret = ENOENT; + ret = EACCES; goto error; } @@ -1198,7 +1198,7 @@ zfs_crypto_unload_key(zfs_handle_t *zhp) zfs_error_aux(zhp->zfs_hdl, dgettext(TEXT_DOMAIN, "Permission denied.")); break; - case ENOENT: + case EACCES: zfs_error_aux(zhp->zfs_hdl, dgettext(TEXT_DOMAIN, "Key already unloaded for '%s'."), zfs_get_name(zhp)); diff --git a/lib/libzfs_core/libzfs_core.c b/lib/libzfs_core/libzfs_core.c index 42362e321..5a46042a4 100644 --- a/lib/libzfs_core/libzfs_core.c +++ b/lib/libzfs_core/libzfs_core.c @@ -546,6 +546,15 @@ lzc_get_holds(const char *snapname, nvlist_t **holdsp) * to contain DRR_WRITE_EMBEDDED records with drr_etype==BP_EMBEDDED_TYPE_DATA, * which the receiving system must support (as indicated by support * for the "embedded_data" feature). + * + * If "flags" contains LZC_SEND_FLAG_COMPRESS, the stream is generated by using + * compressed WRITE records for blocks which are compressed on disk and in + * memory. If the lz4_compress feature is active on the sending system, then + * the receiving system must have that feature enabled as well. + * + * If "flags" contains LZC_SEND_FLAG_RAW, the stream is generated, for encrypted + * datasets, by sending data exactly as it exists on disk. This allows backups + * to be taken even if encryption keys are not currently loaded. */ int lzc_send(const char *snapname, const char *from, int fd, @@ -1156,9 +1165,9 @@ lzc_channel_program_nosync(const char *pool, const char *program, /* * Performs key management functions * - * crypto_cmd should be a value from zfs_ioc_crypto_cmd_t. If the command - * specifies to load or change a wrapping key, the key should be specified in - * the hidden_args nvlist so that it is not logged + * crypto_cmd should be a value from dcp_cmd_t. If the command specifies to + * load or change a wrapping key, the key should be specified in the + * hidden_args nvlist so that it is not logged. */ int lzc_load_key(const char *fsname, boolean_t noop, uint8_t *wkeydata, |