Files
mirror_zfs/include/sys
Alexander Motin 53cbf06d68 Fix deduplication of overridden blocks
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
2025-04-02 17:05:24 -07:00
..
2024-05-31 15:13:39 -07:00
2022-05-10 10:18:51 -07:00
2024-09-14 13:47:59 -07:00
2024-09-14 13:47:59 -07:00
2021-06-07 09:02:47 -07:00
2023-01-10 13:39:22 -08:00
2024-11-04 16:46:39 -08:00
2024-09-04 14:17:02 -07:00
2025-04-02 17:05:24 -07:00
2024-09-14 13:47:59 -07:00
2024-09-14 13:47:59 -07:00
2023-03-14 15:25:50 -07:00
2023-05-09 09:03:10 -07:00
2025-02-28 00:42:29 +05:00
2017-10-11 16:54:48 -04:00
2024-04-09 16:23:19 -07:00
2019-06-19 09:48:12 -07:00
2024-09-17 13:53:39 -07:00
2025-02-25 22:26:45 +05:00
2024-05-31 15:13:30 -07:00
2024-05-31 15:13:16 -07:00
2024-09-14 13:47:59 -07:00
2024-10-02 20:47:11 -07:00
2018-02-08 15:28:18 -08:00
2024-09-14 13:47:59 -07:00
2022-06-29 14:08:54 -07:00
2024-09-14 13:47:59 -07:00
2025-02-28 00:42:29 +05:00
2023-01-05 09:31:55 -08:00