diff options
author | Andriy Gapon <[email protected]> | 2019-09-18 19:04:45 +0300 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-09-18 09:04:45 -0700 |
commit | dd262c9681793e2bae6528297803e627622801f0 (patch) | |
tree | 79335dfe72d4fe70d61910847ed5f3e65c9758ae /lib/libtpool | |
parent | fcd37b622b9fb3a9673b483c59fb2d1a8c368177 (diff) |
Fix dsl_scan_ds_clone_swapped logic
The was incorrect with respect to swapping dataset IDs both in the
on-disk ZAP object and the in-memory queue.
In both cases, if ds1 was already present, then it would be first
replaced with ds2 and then ds would be replaced back with ds1.
Also, both cases did not properly handle a situation where both ds1 and
ds2 are already queued. A duplicate insertion would be attempted and
its failure would result in a panic.
Reviewed-by: Matt Ahrens <[email protected]>
Reviewed-by: Tom Caputi <[email protected]>
Signed-off-by: Andriy Gapon <[email protected]>
Closes #9140
Closes #9163
Diffstat (limited to 'lib/libtpool')
0 files changed, 0 insertions, 0 deletions