aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Wah <[email protected]>2021-03-04 03:28:49 +1100
committerBrian Behlendorf <[email protected]>2021-03-05 12:59:07 -0800
commit94b240bae03a02803c8f3ece2b1697a2178185ce (patch)
tree9e539017267d8cab1baf08529e05d5390db807f6
parente93203e004ce3d1118ca51c26341136634c72066 (diff)
Don't bomb out when using keylocation=file://
Avoid following the error path when the operation in fact succeeded. Reviewed-by: Ryan Moeller <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: James Wah <[email protected]> Closes #11651
-rw-r--r--lib/libzfs/libzfs_crypto.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/libzfs/libzfs_crypto.c b/lib/libzfs/libzfs_crypto.c
index 1a2ee638a..fe3a0f283 100644
--- a/lib/libzfs/libzfs_crypto.c
+++ b/lib/libzfs/libzfs_crypto.c
@@ -532,6 +532,8 @@ get_key_material(libzfs_handle_t *hdl, boolean_t do_verify, boolean_t newkey,
break;
case ZFS_KEYLOCATION_URI:
+ ret = ENOTSUP;
+
for (handler = uri_handlers; handler->zuh_scheme != NULL;
handler++) {
if (strcmp(handler->zuh_scheme, uri_scheme) != 0)
@@ -544,9 +546,11 @@ get_key_material(libzfs_handle_t *hdl, boolean_t do_verify, boolean_t newkey,
break;
}
- ret = ENOTSUP;
- zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
- "URI scheme is not supported"));
+ if (ret == ENOTSUP) {
+ zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
+ "URI scheme is not supported"));
+ goto error;
+ }
break;
default: