aboutsummaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <[email protected]>2023-05-09 22:32:30 -0700
committerBrian Behlendorf <[email protected]>2023-05-11 16:07:15 -0700
commite6107668385044718b0a73330ed6423650806473 (patch)
tree86e0c1a88c57587d11d7dbcc117bc238ed8006da /module
parentfbbe5e96eff9afadf9def323a246d4dd876eb0bd (diff)
Make sure we are not trying to clone a spill block.
Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Pawel Jakub Dawidek <[email protected]> Closes #14825
Diffstat (limited to 'module')
-rw-r--r--module/zfs/dmu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/module/zfs/dmu.c b/module/zfs/dmu.c
index 97379dfc1..8a13b8f41 100644
--- a/module/zfs/dmu.c
+++ b/module/zfs/dmu.c
@@ -2279,6 +2279,7 @@ dmu_brt_clone(objset_t *os, uint64_t object, uint64_t offset, uint64_t length,
ASSERT0(db->db_level);
ASSERT(db->db_blkid != DMU_BONUS_BLKID);
+ ASSERT(db->db_blkid != DMU_SPILL_BLKID);
if (!BP_IS_HOLE(bp) && BP_GET_LSIZE(bp) != dbuf->db_size) {
error = SET_ERROR(EXDEV);
@@ -2293,6 +2294,7 @@ dmu_brt_clone(objset_t *os, uint64_t object, uint64_t offset, uint64_t length,
ASSERT0(db->db_level);
ASSERT(db->db_blkid != DMU_BONUS_BLKID);
+ ASSERT(db->db_blkid != DMU_SPILL_BLKID);
ASSERT(BP_IS_HOLE(bp) || dbuf->db_size == BP_GET_LSIZE(bp));
dmu_buf_will_clone(dbuf, tx);