HomeFreeBSD

Fix incorrect deletion order in range_tree_add_impl gap case

Description

Fix incorrect deletion order in range_tree_add_impl gap case

After a side-effectful call like add or remove, references to range
segs stored in btrees can no longer be used safely. We move the
remove call to just before the reinsertion call so that the seg
remains valid for as long as we need it.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Paul Dagnelie <pcd@delphix.com>
Closes #11044
Closes #11056

Details

Provenance
pcd_delphix.comAuthored on Oct 14 2020, 3:59 PM
GitHub <noreply@github.com>Committed on Oct 14 2020, 3:59 PM
Parents
rG47a7e999398c: FreeBSD: fix panic due to tqid overflow
Branches
Unknown
Tags
Unknown