Files
mirror_zfs/include/sys
Alexander Motin 41f2a9c81f Fix scn_queue races on very old pools
Code for pools before version 11 uses dmu_objset_find_dp() to scan
for children datasets/clones.  It calls enqueue_clones_cb() and
enqueue_cb() callbacks in parallel from multiple taskq threads.
It ends up bad for scan_ds_queue_insert(), corrupting scn_queue
AVL-tree.  Fix it by introducing a mutex to protect those two
scan_ds_queue_insert() calls.  All other calls are done from the
sync thread and so serialized.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
Closes #16162
2024-05-29 08:54:19 -07:00
..
2024-04-29 13:50:05 -07:00
2024-04-30 10:01:15 -07:00
2022-05-10 10:18:51 -07:00
2022-05-25 09:18:49 -07:00
2024-03-28 13:29:46 -07:00
2021-06-07 09:02:47 -07:00
2023-11-08 12:15:41 -08:00
2023-11-08 12:15:41 -08:00
2023-01-10 13:39:22 -08:00
2024-02-20 15:53:02 -08:00
2023-03-10 11:59:53 -08:00
2024-04-30 10:01:15 -07:00
2023-03-14 15:25:50 -07:00
2023-05-09 09:03:10 -07:00
2017-10-11 16:54:48 -04:00
2023-08-25 11:58:44 -07:00
2024-04-19 10:13:38 -07:00
2019-06-19 09:48:12 -07:00
2022-07-11 14:16:13 -07:00
2018-02-08 15:28:18 -08:00
2023-05-25 13:51:53 -07:00
2022-06-29 14:08:54 -07:00
2020-07-03 11:05:50 -07:00
2023-08-25 11:58:44 -07:00
2023-01-05 09:31:55 -08:00