summaryrefslogtreecommitdiffstats
path: root/module/zfs
diff options
context:
space:
mode:
authorchrisperedun <[email protected]>2023-12-21 14:12:30 -0500
committerBrian Behlendorf <[email protected]>2024-01-08 16:11:39 -0800
commitf71c16a66126b7a1896b3b0c59a42a7b9186e56b (patch)
treef18481e5ce12124c74c5a2251d9beb119ef88c9c /module/zfs
parent9c40ae02199668d1e9a07d14c4ea713b2c5e584e (diff)
Don't panic on unencrypted block in encrypted dataset
While 763ca47 closes the situation of block cloning creating unencrypted records in encrypted datasets, existing data still causes panic on read. Setting zfs_recover bypasses this but at the cost of potentially ignoring more serious issues. Reviewed-by: Alexander Motin <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Chris Peredun <[email protected]> Closes #15677
Diffstat (limited to 'module/zfs')
-rw-r--r--module/zfs/dbuf.c2
-rw-r--r--module/zfs/dmu_send.c2
2 files changed, 0 insertions, 4 deletions
diff --git a/module/zfs/dbuf.c b/module/zfs/dbuf.c
index e4c59b593..255add6cd 100644
--- a/module/zfs/dbuf.c
+++ b/module/zfs/dbuf.c
@@ -1619,8 +1619,6 @@ dbuf_read_impl(dmu_buf_impl_t *db, zio_t *zio, uint32_t flags,
*/
if (db->db_objset->os_encrypted && !BP_USES_CRYPT(bpp)) {
spa_log_error(db->db_objset->os_spa, &zb, &bpp->blk_birth);
- zfs_panic_recover("unencrypted block in encrypted "
- "object set %llu", dmu_objset_id(db->db_objset));
err = SET_ERROR(EIO);
goto early_unlock;
}
diff --git a/module/zfs/dmu_send.c b/module/zfs/dmu_send.c
index 2d37ed2cd..37c68528b 100644
--- a/module/zfs/dmu_send.c
+++ b/module/zfs/dmu_send.c
@@ -1124,8 +1124,6 @@ send_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
if (sta->os->os_encrypted &&
!BP_IS_HOLE(bp) && !BP_USES_CRYPT(bp)) {
spa_log_error(spa, zb, &bp->blk_birth);
- zfs_panic_recover("unencrypted block in encrypted "
- "object set %llu", dmu_objset_id(sta->os));
return (SET_ERROR(EIO));
}