Ameer Hamza
ab3db6d15d
arc: avoid possible deadlock in arc_read
...
In l2arc_evict(), the config lock may be acquired in reverse order
(e.g., first the config lock (writer), then a hash lock) unlike in
arc_read() during scenarios like L2ARC device removal. To avoid
deadlocks, if the attempt to acquire the config lock (reader) fails
in arc_read(), release the hash lock, wait for the config lock, and
retry from the beginning.
Reviewed-by: Alexander Motin <mav@FreeBSD.org >
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com >
Closes #17071
2025-02-25 14:32:12 -05:00
..
2024-09-14 13:47:59 -07:00
2022-03-15 15:13:42 -07:00
2025-02-25 14:32:12 -05:00
2023-05-01 17:21:27 -07:00
2024-08-22 16:22:24 -07:00
2023-06-09 10:12:52 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2023-01-10 13:39:22 -08:00
2024-12-12 10:22:41 -08:00
2024-12-06 08:53:57 -08:00
2024-09-14 13:47:59 -07:00
2023-11-17 13:25:53 -08:00
2025-02-14 15:37:48 -08:00
2024-09-04 14:17:02 -07:00
2024-08-16 12:03:35 -07:00
2024-12-06 08:53:57 -08:00
2024-09-10 12:46:50 -07:00
2024-05-29 10:49:11 -07:00
2024-11-04 16:42:06 -08:00
2024-12-06 08:53:57 -08:00
2024-10-01 13:39:08 -07:00
2024-12-06 08:53:57 -08:00
2024-10-01 13:39:08 -07:00
2024-11-06 11:52:01 -08:00
2024-12-06 08:53:57 -08:00
2024-12-05 11:48:08 -08:00
2024-12-04 15:19:05 -08:00
2024-12-06 08:53:57 -08:00
2025-02-14 15:37:48 -08:00
2025-02-14 15:37:48 -08:00
2024-10-01 13:39:08 -07:00
2024-10-01 13:39:08 -07:00
2024-12-04 15:15:58 -08:00
2024-12-04 15:15:58 -08:00
2024-10-01 13:39:08 -07:00
2024-12-04 15:15:58 -08:00
2024-12-06 08:53:57 -08:00
2025-02-14 15:37:48 -08:00
2024-10-02 09:12:02 -07:00
2025-02-25 14:32:12 -05:00
2022-07-11 14:16:13 -07:00
2024-10-01 13:39:08 -07:00
2023-03-14 15:59:58 -07:00
2023-06-09 10:12:52 -07:00
2024-08-22 16:22:24 -07:00
2022-03-15 15:13:42 -07:00
2024-08-22 16:22:24 -07:00
2022-01-12 16:14:36 -08:00
2024-08-22 16:22:24 -07:00
2025-02-25 14:26:34 -05:00
2024-12-06 08:53:57 -08:00
2024-04-09 16:23:19 -07:00
2019-06-19 09:48:12 -07:00
2022-07-11 14:16:13 -07:00
2025-02-14 15:37:56 -08:00
2024-12-06 08:53:57 -08:00
2022-07-11 14:16:13 -07:00
2024-10-01 13:39:08 -07:00
2023-03-02 13:52:21 -08:00
2022-03-15 15:13:42 -07:00
2025-02-14 15:37:48 -08:00
2023-10-26 09:17:40 -07:00
2024-12-06 08:53:57 -08:00
2024-11-25 18:37:56 -05:00
2025-02-14 15:37:48 -08:00
2025-02-25 14:28:57 -05:00
2024-09-14 13:47:59 -07:00
2025-02-25 14:32:12 -05:00
2025-02-14 15:37:56 -08:00
2025-02-14 15:37:48 -08:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2024-04-29 14:35:53 -07:00
2024-03-25 15:01:54 -07:00
2022-07-11 14:16:13 -07:00
2020-11-13 13:51:51 -08:00
2025-02-14 15:37:56 -08:00
2025-02-22 14:16:54 -05:00
2022-03-15 15:13:42 -07:00
2022-03-15 15:13:42 -07:00
2025-02-14 15:37:48 -08:00
2025-02-14 15:37:56 -08:00
2025-02-14 15:37:56 -08:00
2024-12-06 08:53:57 -08:00
2022-07-11 14:16:13 -07:00
2023-11-07 09:06:14 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-11-30 13:46:26 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-10-30 14:54:27 -07:00
2023-01-13 10:58:58 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2025-01-29 09:18:09 -05:00
2025-02-14 15:37:56 -08:00
2025-02-14 15:37:48 -08:00
2025-02-25 14:30:51 -05:00
2022-07-11 14:16:13 -07:00
2025-02-14 15:37:56 -08:00
2025-02-14 15:37:56 -08:00
2024-11-20 13:37:52 -08:00
2024-12-26 17:10:09 -05:00
2024-12-06 08:53:57 -08:00
2023-03-14 15:25:50 -07:00
2018-02-08 15:29:24 -08:00
2024-10-01 13:39:08 -07:00
2020-02-14 13:41:42 -08:00
2022-09-02 13:31:19 -07:00
2024-05-29 10:49:11 -07:00
2024-10-01 13:39:08 -07:00
2022-07-11 14:16:13 -07:00
2023-03-02 13:52:21 -08:00
2024-09-14 13:47:59 -07:00
2023-06-09 10:12:52 -07:00
2023-03-02 13:52:21 -08:00
2024-12-04 14:21:45 -05:00
2024-09-27 09:18:11 -07:00
2023-06-09 10:12:52 -07:00
2024-10-01 13:39:08 -07:00
2022-07-11 14:16:13 -07:00
2024-09-27 09:18:11 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2024-12-29 11:41:30 -08:00
2024-10-01 13:40:27 -07:00
2024-07-31 17:17:04 -07:00
2024-11-19 06:55:27 -08:00
2024-11-19 06:55:27 -08:00
2025-01-22 16:13:21 -08:00
2025-02-25 14:32:12 -05:00
2024-08-22 16:22:24 -07:00
2022-11-29 09:26:03 -08:00
2022-03-23 08:51:00 -07:00
2024-12-29 11:41:30 -08:00