Files
mirror_zfs/module/zfs
Alexander Motin af5dbed319 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-09 07:32:59 -07:00
..
2024-03-25 16:50:35 -07:00
2022-03-15 15:13:42 -07:00
2024-04-23 09:06:00 -07:00
2022-03-15 15:13:42 -07:00
2023-01-10 13:39:22 -08:00
2023-09-28 14:10:07 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:59:58 -07:00
2023-06-09 10:12:52 -07:00
2022-03-15 15:13:42 -07:00
2022-01-07 10:36:49 -08:00
2022-01-12 16:14:36 -08:00
2024-04-09 16:23:19 -07:00
2024-04-09 16:23:19 -07:00
2019-06-19 09:48:12 -07:00
2023-11-07 12:11:48 -08:00
2022-03-15 15:13:42 -07:00
2023-11-08 10:19:41 -08:00
2024-04-22 09:42:38 -07:00
2024-04-22 09:42:38 -07:00
2024-04-22 09:42:38 -07:00
2024-04-24 14:51:21 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:25:50 -07:00
2022-09-02 13:31:19 -07:00
2023-03-14 15:25:50 -07:00
2022-11-29 09:26:03 -08:00