]> git.proxmox.com Git - mirror_zfs.git/commit - module/zfs/zio.c
dedup=verify doesn't clear the blkptr's dedup flag
authorMatthew Ahrens <mahrens@delphix.com>
Fri, 21 Jun 2019 01:30:40 +0000 (18:30 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 21 Jun 2019 01:30:40 +0000 (18:30 -0700)
commitaccd6d9dc411b150d5313b2e777381f13da8861b
tree2dff66e30537355c434ef4daf6965a9fc63ac14b
parenta64f8276c7c2e121f438866d2f91ddff22031e7f
dedup=verify doesn't clear the blkptr's dedup flag

The logic to handle strong checksum collisions where the data doesn't
match is incorrect. It is not clearing the dedup bit of the blkptr,
which can cause a panic later in zio_ddt_free() due to the dedup table
not matching what is in the blkptr.

Reviewed-by: Tom Caputi <tcaputi@datto.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matthew Ahrens <mahrens@delphix.com>
External-issue: DLPX-48097
Closes #8936
module/zfs/zio.c