]> git.proxmox.com Git - mirror_zfs.git/commit - module/zfs/dmu_objset.c
OpenZFS 6513 - partially filled holes lose birth time
authorPaul Dagnelie <pcd@delphix.com>
Sun, 15 May 2016 15:02:28 +0000 (08:02 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 21 Jun 2016 17:55:13 +0000 (10:55 -0700)
commitbc77ba73fec82d37c0b57949ec29edd9aa207677
tree8ef34423c1c38a21f86a83bdf4c4ed5d163ca5af
parent100a91aa3e9773f2a2a373c5cb066b52c780716c
OpenZFS 6513 - partially filled holes lose birth time

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Boris Protopopov <bprotopopov@hotmail.com>
Approved by: Richard Lowe <richlowe@richlowe.net>a
Ported by: Boris Protopopov <bprotopopov@actifio.com>
Signed-off-by: Boris Protopopov <bprotopopov@actifio.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
OpenZFS-issue: https://www.illumos.org/issues/6513
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/8df0bcf0

If a ZFS object contains a hole at level one, and then a data block is
created at level 0 underneath that l1 block, l0 holes will be created.
However, these l0 holes do not have the birth time property set; as a
result, incremental sends will not send those holes.

Fix is to modify the dbuf_read code to fill in birth time data.
include/sys/arc.h
include/sys/arc_impl.h
include/sys/zio.h
module/zfs/arc.c
module/zfs/dbuf.c
module/zfs/dmu.c
module/zfs/dmu_objset.c
module/zfs/dnode_sync.c
module/zfs/zio.c