mirror_zfs/module
Tom Caputi b32f1279d4 Fix race in dnode_check_slots_free()
Currently, dnode_check_slots_free() works by checking dn->dn_type
in the dnode to determine if the dnode is reclaimable. However,
there is a small window of time between dnode_free_sync() in the
first call to dsl_dataset_sync() and when the useraccounting code
is run when the type is set DMU_OT_NONE, but the dnode is not yet
evictable, leading to crashes. This patch adds the ability for
dnodes to track which txg they were last dirtied in and adds a
check for this before performing the reclaim.

This patch also corrects several instances when dn_dirty_link was
treated as a list_node_t when it is technically a multilist_node_t.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tom Caputi <tcaputi@datto.com>
Closes #7147
Closes #7388
2018-11-08 14:38:28 -08:00
..
avl Fix uninitialized variable in avl_add() 2016-07-25 14:21:34 -07:00
icp Fedora 28: Fix misc bounds check compiler warnings 2018-07-06 02:46:51 -07:00
nvpair Linux 4.14 compat: CONFIG_GCC_PLUGIN_RANDSTRUCT 2017-12-04 17:21:39 -08:00
unicode codebase style improvements for OpenZFS 6459 port 2017-01-22 13:25:40 -08:00
zcommon Change checksum & IO delay ratelimit values 2018-03-14 16:10:38 -07:00
zfs Fix race in dnode_check_slots_free() 2018-11-08 14:38:28 -08:00
zpios Fedora 28: Fix misc bounds check compiler warnings 2018-05-07 17:19:57 -07:00
.gitignore Improve gitignore 2017-05-25 10:14:13 -07:00
Makefile.in GZIP compression offloading with QAT accelerator 2017-03-22 17:58:47 -07:00