diff options
author | chrisperedun <[email protected]> | 2023-12-21 14:12:30 -0500 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2024-01-08 16:11:39 -0800 |
commit | f71c16a66126b7a1896b3b0c59a42a7b9186e56b (patch) | |
tree | f18481e5ce12124c74c5a2251d9beb119ef88c9c /module/zfs | |
parent | 9c40ae02199668d1e9a07d14c4ea713b2c5e584e (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.c | 2 | ||||
-rw-r--r-- | module/zfs/dmu_send.c | 2 |
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)); } |