HomeFreeBSD

dedup=verify doesn't clear the blkptr's dedup flag

Description

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

Details

Provenance
mahrensAuthored on Jun 21 2019, 1:30 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Jun 21 2019, 1:30 AM
Parents
rGa64f8276c7c2: Update vdev_ops_t from illumos
Branches
Unknown
Tags
Unknown

Event Timeline