]> granicus.if.org Git - zfs/commitdiff
Remove VERIFY from dsl_dataset_crypt_stats()
authorTom Caputi <tcaputi@datto.com>
Fri, 5 Jul 2019 23:53:14 +0000 (19:53 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 5 Jul 2019 23:53:14 +0000 (16:53 -0700)
This patch fixes an issue where dsl_dataset_crypt_stats() would
VERIFY that it was able to hold the encryption root. This function
should instead silently continue without populating the related
field in the nvlist, as is the convention for this code.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #8976

module/zfs/dsl_crypt.c

index 568fe7aa32638c29621aa4def2dfd234c7094aec..24711227ba5526c4388bb34230b3dc918a3d0b37 100644 (file)
@@ -2624,11 +2624,13 @@ dsl_dataset_crypt_stats(dsl_dataset_t *ds, nvlist_t *nv)
        }
 
        if (dsl_dir_get_encryption_root_ddobj(dd, &intval) == 0) {
-               VERIFY0(dsl_dir_hold_obj(dd->dd_pool, intval, NULL, FTAG,
-                   &enc_root));
-               dsl_dir_name(enc_root, buf);
-               dsl_dir_rele(enc_root, FTAG);
-               dsl_prop_nvlist_add_string(nv, ZFS_PROP_ENCRYPTION_ROOT, buf);
+               if (dsl_dir_hold_obj(dd->dd_pool, intval, NULL, FTAG,
+                   &enc_root) == 0) {
+                       dsl_dir_name(enc_root, buf);
+                       dsl_dir_rele(enc_root, FTAG);
+                       dsl_prop_nvlist_add_string(nv,
+                           ZFS_PROP_ENCRYPTION_ROOT, buf);
+               }
        }
 }