mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-27 11:29:36 +03:00
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 <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Chris Peredun <chris.peredun@ixsystems.com>
Closes #15677
This commit is contained in:
parent
eff77a802d
commit
5a4915660c
@ -1634,8 +1634,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)) {
|
if (db->db_objset->os_encrypted && !BP_USES_CRYPT(bpp)) {
|
||||||
spa_log_error(db->db_objset->os_spa, &zb, &bpp->blk_birth);
|
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);
|
err = SET_ERROR(EIO);
|
||||||
goto early_unlock;
|
goto early_unlock;
|
||||||
}
|
}
|
||||||
|
@ -1124,8 +1124,6 @@ send_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
|
|||||||
if (sta->os->os_encrypted &&
|
if (sta->os->os_encrypted &&
|
||||||
!BP_IS_HOLE(bp) && !BP_USES_CRYPT(bp)) {
|
!BP_IS_HOLE(bp) && !BP_USES_CRYPT(bp)) {
|
||||||
spa_log_error(spa, zb, &bp->blk_birth);
|
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));
|
return (SET_ERROR(EIO));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user