Files
mirror_zfs/module
Patrick Mooney 1ac6248312 dnode_sync is careless with range tree
Because dnode_sync_free_range() must drop dn_mtx during its processing,
using it as a callback to range_tree_vacate() is not safe.  No other
operations (besides destroy) are allowed once range_tree_vacate() has
begun, and dropping dn_mtx would leave a window open for another thread
to observe that invalid (and unsafe) state via dnode_block_freed().

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Igor Kozhukhov <igor@dilos.org>
Signed-off-by: Patrick Mooney <pmooney@oxide.computer>
Closes #10708
Closes #10823
2020-08-27 16:07:05 -07:00
..
2020-08-27 16:06:39 -07:00
2020-06-10 09:24:15 -07:00
2020-08-27 16:06:35 -07:00
2020-06-10 09:24:15 -07:00
2020-08-20 10:30:06 -07:00
2020-08-20 10:30:06 -07:00