mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
ZFS send fails to dump objects larger than 128PiB
When dumping objects larger than 128PiB it's possible for do_dump() to miscalculate the FREE_RECORD offset due to an integer overflow condition: this prevents the receiving end from correctly restoring the dumped object. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes #6760
This commit is contained in:
+1
-1
@@ -967,7 +967,7 @@ dmu_free_range(objset_t *os, uint64_t object, uint64_t offset,
|
||||
if (err)
|
||||
return (err);
|
||||
ASSERT(offset < UINT64_MAX);
|
||||
ASSERT(size == -1ULL || size <= UINT64_MAX - offset);
|
||||
ASSERT(size == DMU_OBJECT_END || size <= UINT64_MAX - offset);
|
||||
dnode_free_range(dn, offset, size, tx);
|
||||
dnode_rele(dn, FTAG);
|
||||
return (0);
|
||||
|
||||
Reference in New Issue
Block a user