]> granicus.if.org Git - zfs/commit
Skip FREEOBJECTS for objects which can't exist
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Tue, 26 Sep 2017 12:03:21 +0000 (14:03 +0200)
committerTony Hutter <hutter2@llnl.gov>
Mon, 16 Oct 2017 17:57:55 +0000 (10:57 -0700)
commit8d688ce66acab2b92a10361f9ee617c1d729770c
tree1870fbbf5a329f5f9e8d45129697a64d5c01d043
parentb544fe4123167e15bb0687e3918e8569a55fed3e
Skip FREEOBJECTS for objects which can't exist

When sending an incremental stream based on a snapshot, the receiving
side must have the same base snapshot.  Thus we do not need to send
FREEOBJECTS records for any objects past the maximum one which exists
locally.

This allows us to send incremental streams (again) to older ZFS
implementations (e.g. ZoL < 0.7) which actually try to free all objects
in a FREEOBJECTS record, instead of bailing out early.

Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Closes #5699
Closes #6507
Closes #6616
module/zfs/dmu_send.c