Files
mirror_zfs/module
Patrick Mooney 8d42c98d95 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-26 21:48:29 -07:00
..
2020-08-26 10:35:50 -07:00
2020-06-10 09:24:15 -07:00
2020-08-26 09:54:37 -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