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
..
avl Make use of ZFS_DEBUG consistent within kmod sources 2020-07-25 20:07:44 -07:00
icp Prefix zfs internal endian checks with _ZFS 2020-07-28 13:02:49 -07:00
lua Mark lua setjmp/longjmp for powerpc weak 2020-08-25 10:32:49 -07:00
nvpair Prefix zfs internal endian checks with _ZFS 2020-07-28 13:02:49 -07:00
os Remove pragma ident lines 2020-08-27 16:06:39 -07:00
spl Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
unicode Prefix zfs internal endian checks with _ZFS 2020-07-28 13:02:49 -07:00
zcommon FreeBSD: disable neon usage 2020-08-27 16:06:35 -07:00
zfs dnode_sync is careless with range tree 2020-08-27 16:07:05 -07:00
zstd Avoid symbol collision with in-kernel zstdlib 2020-08-24 12:20:41 -07:00
.gitignore Cleanup linux module kbuild files 2020-06-10 09:24:15 -07:00
Kbuild.in Add zstd support to zfs 2020-08-20 10:30:06 -07:00
Makefile.bsd FreeBSD: 11.x arc_stats compatibility 2020-08-20 10:55:02 -07:00
Makefile.in Add zstd support to zfs 2020-08-20 10:30:06 -07:00