Amaury Denoyelle
8e0e7d9d1a
BUG/MINOR: guid/server: ensure thread-safety on GUID insert/delete
...
Since 3.0, it is possible to assign a GUID to proxies, listeners and
servers. These objects are stored in a global tree guid_tree.
Proxies and listeners are static. However, servers may be added or
deleted at runtime, which imply that guid_tree must be protected. Fix
this by declaring a read-write lock to protect tree access.
For now, only guid_insert() and guid_remove() are protected using a
write lock. Outside of these, GUID tree is not accessed at runtime. If
server CLI commands are extended to support GUID as server identifier,
lookup operation should be extended with a read lock protection.
Note that during stat-file preloading, GUID tree is accessed for lookup.
However, as it is performed on startup which is single threaded, there
is no need for lock here. A BUG_ON() has been added to ensure this
precondition remains true.
This bug could caused a segfault when using dynamic servers with GUID.
However, it was never reproduced for now.
This must be backported up to 3.0. To avoid a conflict issue, the
previous cleanup patch can be merged before it.
2024-11-07 18:17:03 +01:00
..
2023-08-01 10:49:06 +02:00
2023-05-11 15:37:04 +02:00
2024-07-25 15:39:39 +02:00
2024-09-30 16:55:53 +02:00
2024-06-27 18:01:27 +02:00
2022-09-08 16:21:22 +02:00
2021-03-26 15:28:33 +01:00
2024-09-24 18:26:36 +02:00
2024-05-10 17:18:13 +02:00
2024-10-18 14:30:24 +02:00
2021-07-16 19:18:41 +02:00
2024-04-11 16:41:08 +02:00
2024-03-29 17:08:37 +01:00
2024-05-02 10:55:25 +02:00
2021-04-13 17:28:13 +02:00
2024-10-12 16:29:15 +02:00
2024-10-18 18:42:47 +02:00
2024-11-06 18:35:42 +01:00
2024-03-05 11:50:34 +01:00
2022-03-04 08:58:32 +01:00
2023-02-21 11:44:55 +01:00
2021-07-20 18:03:08 +02:00
2021-09-15 11:07:18 +02:00
2024-10-16 22:02:39 +02:00
2023-10-17 18:51:13 +02:00
2024-09-03 17:49:21 +02:00
2023-09-01 14:00:04 +02:00
2024-07-12 15:27:04 +02:00
2022-08-17 10:45:22 +02:00
2024-04-17 11:14:44 +02:00
2024-10-24 11:32:20 +02:00
2023-05-17 09:33:54 +02:00
2024-09-29 09:52:23 +02:00
2024-11-05 15:43:17 +01:00
2023-04-07 00:49:17 +02:00
2023-04-07 00:46:59 +02:00
2024-11-05 18:57:43 +01:00
2024-11-05 18:57:43 +01:00
2024-05-02 10:55:25 +02:00
2023-07-20 11:01:09 +02:00
2023-09-08 16:25:19 +02:00
2024-11-06 18:35:42 +01:00
2024-10-16 22:02:39 +02:00
2024-03-05 11:50:34 +01:00
2022-03-04 08:58:32 +01:00
2022-03-04 08:58:32 +01:00
2024-03-25 17:34:19 +00:00
2024-03-25 17:34:19 +00:00
2024-03-25 17:34:19 +00:00
2021-05-09 06:50:46 +02:00
2024-05-10 17:18:13 +02:00
2024-05-15 19:37:12 +02:00
2023-05-11 12:02:21 +02:00
2023-11-29 08:59:27 +01:00
2024-11-07 11:35:55 +01:00
2024-09-03 17:49:21 +02:00
2023-04-13 16:57:51 +02:00
2024-07-15 19:19:13 +02:00
2024-10-22 20:13:00 +02:00
2021-04-11 11:11:27 +02:00
2024-05-02 10:55:25 +02:00
2023-10-26 15:18:48 +02:00
2024-11-04 17:48:58 +01:00
2024-10-16 22:02:39 +02:00
2024-04-05 15:40:42 +02:00
2024-11-07 18:17:03 +01:00
2021-09-23 16:13:17 +02:00
2024-08-01 18:23:32 +02:00
2023-08-08 19:10:54 +02:00
2022-05-30 09:59:26 +02:00
2022-05-30 09:59:26 +02:00
2024-05-16 10:31:17 +02:00
2023-05-05 16:28:32 +02:00
2024-06-14 18:25:58 +02:00
2024-03-13 09:24:46 +01:00
2021-11-18 10:50:58 +01:00
2024-04-10 15:50:00 +02:00
2023-01-13 11:22:13 +01:00
2024-04-29 17:10:47 +02:00
2024-03-05 11:50:34 +01:00
2023-01-27 15:18:59 +01:00
2023-01-27 15:18:59 +01:00
2024-04-04 19:10:01 +02:00
2023-01-27 15:18:59 +01:00
2023-05-11 15:37:04 +02:00
2021-10-14 16:38:07 +02:00
2024-06-28 14:36:30 +02:00
2024-10-17 13:54:54 +02:00
2024-10-17 13:54:54 +02:00
2022-04-22 15:45:47 +02:00
2022-04-22 15:45:47 +02:00
2022-04-14 16:57:12 +02:00
2024-04-24 15:54:55 +02:00
2024-03-05 11:50:34 +01:00
2021-10-14 16:38:14 +02:00
2021-10-07 01:41:14 +02:00
2021-05-31 10:55:51 +02:00
2021-10-07 01:41:14 +02:00
2021-10-07 01:41:14 +02:00
2021-10-07 01:41:14 +02:00
2024-03-29 17:08:37 +01:00
2024-03-29 17:08:37 +01:00
2024-07-16 14:04:41 +02:00
2024-06-26 07:38:21 +02:00
2024-07-09 16:46:38 +02:00
2024-07-11 11:02:44 +02:00
2024-09-25 17:12:11 +02:00
2024-11-06 10:21:15 +01:00
2024-10-04 21:38:08 +02:00
2024-06-17 19:37:29 +02:00
2024-06-17 19:37:29 +02:00
2024-08-30 14:58:59 +02:00
2022-11-30 14:02:36 +01:00
2024-05-17 16:33:53 +02:00
2024-10-16 18:32:52 +02:00
2024-10-16 11:51:35 +02:00
2024-10-01 16:19:25 +02:00
2024-09-03 17:49:21 +02:00
2024-10-16 22:02:39 +02:00
2024-10-16 22:02:39 +02:00
2021-10-07 01:41:14 +02:00
2022-08-06 17:12:51 +02:00
2022-11-29 15:14:39 +01:00
2024-04-16 07:37:28 +02:00
2024-07-25 15:39:39 +02:00
2024-07-25 15:39:39 +02:00
2024-07-30 18:53:08 +02:00
2024-09-09 16:07:05 +02:00
2023-09-21 09:50:55 +02:00
2024-05-03 09:01:36 +02:00
2023-12-21 14:22:27 +01:00
2022-12-08 17:32:57 +01:00
2023-08-12 19:04:34 +02:00
2024-10-24 16:12:46 +02:00
2021-05-31 10:50:32 +02:00
2024-07-03 15:02:40 +02:00
2023-11-23 17:38:58 +01:00
2024-07-11 15:14:06 +02:00
2024-03-05 11:50:34 +01:00
2023-04-23 09:46:15 +02:00
2024-03-05 11:50:34 +01:00
2024-04-16 07:37:28 +02:00
2024-10-29 12:14:50 +01:00
2024-08-30 18:53:49 +02:00
2024-09-26 16:53:07 +02:00
2024-09-20 15:59:04 +02:00
2023-12-21 15:42:08 +01:00
2024-08-07 15:40:52 +02:00
2024-05-16 10:31:17 +02:00
2021-09-23 15:27:25 +02:00
2024-05-16 10:31:17 +02:00
2024-03-05 11:50:34 +01:00
2022-03-04 08:58:32 +01:00
2024-03-05 11:50:34 +01:00
2024-07-29 09:27:01 +02:00
2024-03-05 11:50:34 +01:00
2024-03-05 11:50:34 +01:00
2024-04-02 18:47:19 +02:00
2024-08-21 08:34:30 +02:00
2024-07-11 11:02:44 +02:00
2024-07-03 15:02:40 +02:00
2024-07-03 15:02:40 +02:00
2023-07-27 10:51:03 +02:00
2024-10-17 15:04:06 +02:00
2024-10-31 15:35:31 +01:00
2023-01-19 15:09:01 +01:00
2024-01-31 16:28:54 +01:00
2024-01-31 16:28:54 +01:00
2024-10-04 17:56:45 +02:00
2024-10-04 17:56:45 +02:00
2024-02-14 11:32:29 +01:00
2024-02-14 11:32:29 +01:00
2023-11-23 16:23:14 +01:00
2023-12-21 16:33:06 +01:00
2024-08-07 10:57:10 +02:00
2023-11-28 15:47:18 +01:00
2024-07-25 15:39:39 +02:00
2024-11-06 14:29:14 +01:00
2024-03-11 14:27:51 +01:00
2024-07-25 15:39:39 +02:00
2024-07-11 11:02:44 +02:00
2023-07-27 10:51:03 +02:00
2024-08-30 17:04:09 +02:00
2023-11-09 16:23:52 +01:00
2022-05-30 09:59:26 +02:00
2024-10-04 18:09:51 +02:00
2024-10-04 17:56:45 +02:00
2024-08-30 17:04:09 +02:00
2024-08-30 17:04:09 +02:00
2024-08-30 17:04:09 +02:00
2024-01-12 16:08:36 +01:00
2023-11-30 15:59:45 +01:00
2024-07-11 15:14:06 +02:00
2024-08-07 15:40:52 +02:00
2024-06-12 18:05:40 +02:00
2024-10-31 15:35:31 +01:00
2024-01-02 11:44:42 +01:00
2021-08-28 12:49:58 +02:00
2024-01-02 10:29:41 +01:00
2023-12-21 14:22:27 +01:00
2024-03-25 17:34:19 +00:00
2024-07-24 17:59:03 +02:00
2023-07-03 16:32:01 +02:00
2024-02-20 15:18:39 +01:00
2024-09-16 22:55:40 +02:00
2024-10-24 11:35:57 +02:00
2024-10-24 11:35:57 +02:00
2024-05-22 10:01:57 +02:00
2024-06-26 15:05:06 +02:00
2023-11-23 16:23:14 +01:00
2024-04-24 10:25:38 +02:00
2022-11-24 08:32:27 +01:00
2021-09-15 11:07:18 +02:00
2024-10-10 16:55:15 +02:00
2024-10-10 16:55:15 +02:00
2024-08-30 18:53:49 +02:00
2024-10-29 12:15:09 +01:00
2022-01-28 19:04:02 +01:00
2024-05-21 20:14:05 +02:00
2024-07-24 14:19:10 +02:00
2024-07-24 14:19:10 +02:00
2024-07-17 16:52:06 +02:00
2024-05-21 18:30:45 +02:00
2021-10-07 01:41:14 +02:00
2024-05-17 17:35:51 +02:00
2024-03-05 11:50:34 +01:00
2024-03-20 16:12:10 +01:00
2024-05-17 17:35:51 +02:00
2024-08-26 15:17:40 +02:00
2024-07-30 18:53:08 +02:00
2023-05-15 10:48:05 +02:00
2024-04-26 11:34:02 +02:00
2024-05-03 09:01:36 +02:00
2024-04-18 17:04:08 +02:00
2024-04-19 01:54:00 +02:00
2024-04-18 17:04:08 +02:00
2024-05-02 16:43:26 +02:00
2024-11-06 18:35:42 +01:00
2024-05-02 16:42:36 +02:00
2024-07-12 15:27:04 +02:00
2024-10-24 12:07:50 +02:00
2024-09-19 15:38:19 +02:00
2024-09-03 17:49:21 +02:00
2024-10-31 20:24:50 +01:00
2024-09-30 16:55:53 +02:00
2024-04-03 15:53:18 +02:00
2024-09-27 11:56:10 +02:00
2023-11-27 11:24:52 +01:00
2024-04-04 19:10:01 +02:00
2024-07-12 15:27:04 +02:00
2024-11-07 18:17:03 +01:00
2024-03-05 11:50:34 +01:00
2021-10-07 01:41:14 +02:00
2024-08-07 15:40:52 +02:00
2024-08-07 15:40:52 +02:00
2023-08-01 10:48:28 +02:00
2024-10-19 16:01:52 +02:00
2023-04-13 16:57:51 +02:00
2024-09-19 15:36:58 +02:00
2024-10-29 12:15:24 +01:00
2024-08-07 16:02:59 +02:00
2024-10-29 11:01:47 +01:00
2021-04-19 09:05:57 +02:00
2021-05-11 17:24:32 +02:00
2024-09-15 23:51:51 +02:00
2024-09-15 23:51:51 +02:00
2024-04-17 11:14:44 +02:00
2024-05-29 15:00:02 +02:00
2024-03-05 11:50:34 +01:00
2021-09-11 20:37:50 +02:00