mirror of
https://git.proxmox.com/git/mirror_zfs
synced 2025-04-28 13:20:02 +00:00
![]() Implementation of DDT pruning introduced verification of DVAs in a block pointer during ddt_lookup() to not by mistake free previous pruned incarnation of the entry. But when writing a new block in zio_ddt_write() we might have the DVAs only from override pointer, which may never have "D" flag to be confused with pruned DDT entry, and we'll abandon those DVAs if we find a matching entry in DDT. This fixes deduplication for blocks written via dmu_sync() for purposes of indirect ZIL write records, that I have tested. And I suspect it might actually allow deduplication for Direct I/O, even though in an odd way -- first write block directly and then delete it later during TXG commit if found duplicate, which part I haven't tested. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored by: iXsystems, Inc. Closes #17120 |
||
---|---|---|
.. | ||
raidz_test | ||
zdb | ||
zed | ||
zfs | ||
zinject | ||
zpool | ||
zpool_influxdb | ||
zstream | ||
arc_summary | ||
arcstat.in | ||
dbufstat.in | ||
fsck.zfs.in | ||
Makefile.am | ||
mount_zfs.c | ||
zfs_ids_to_path.c | ||
zgenhostid.c | ||
zhack.c | ||
zilstat.in | ||
ztest.c | ||
zvol_wait |