Al Viro
9f6a8afb37
UPSTREAM: new inode method: ->free_inode()
...
A lot of ->destroy_inode() instances end with call_rcu() of a callback
that does RCU-delayed part of freeing. Introduce a new method for
doing just that, with saner signature.
Rules:
->destroy_inode ->free_inode
f g immediate call of f(),
RCU-delayed call of g()
f NULL immediate call of f(),
no RCU-delayed calls
NULL g RCU-delayed call of g()
NULL NULL RCU-delayed default freeing
IOW, NULL ->free_inode gives the same behaviour as now.
Note that NULL, NULL is equivalent to NULL, free_inode_nonrcu; we could
mandate the latter form, but that would have very little benefit beyond
making rules a bit more symmetric. It would break backwards compatibility,
require extra boilerplate and expected semantics for (NULL, NULL) pair
would have no use whatsoever...
Change-Id: I828dd519b381a1f25013ec3d1eae0b6835eb9c26
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk >
2025-09-08 17:20:25 +03:00
..
2024-05-17 11:42:41 +02:00
2023-02-06 07:49:38 +01:00
2024-02-23 08:12:45 +01:00
2023-09-23 10:48:15 +02:00
2024-11-17 14:58:07 +01:00
2024-03-06 14:35:23 +00:00
2024-11-08 16:19:10 +01:00
2024-01-08 11:27:37 +01:00
2022-03-02 11:38:13 +01:00
2023-04-11 03:17:25 +00:00
2023-09-23 10:47:59 +02:00
2023-09-23 10:48:11 +02:00
2024-06-16 13:23:24 +02:00
2020-12-02 08:48:12 +01:00
2023-09-23 10:48:16 +02:00
2025-01-16 01:04:38 +02:00
2025-09-08 16:57:12 +03:00
2024-11-08 16:19:19 +01:00
2021-09-22 11:48:02 +02:00
2024-10-08 21:47:13 +03:00
2024-09-04 13:13:01 +02:00
2024-08-19 05:32:03 +02:00
2024-12-05 10:59:30 +01:00
2021-06-03 09:05:30 +02:00
2025-09-08 17:19:32 +03:00
2024-04-13 12:50:15 +02:00
2024-12-16 01:51:21 +02:00
2024-12-05 11:21:28 +00:00
2024-12-05 10:59:38 +01:00
2023-09-30 11:47:07 +00:00
2024-11-08 16:19:17 +01:00
2022-04-15 14:15:03 +02:00
2024-12-05 11:21:28 +00:00
2020-12-30 11:26:02 +01:00
2024-12-05 10:59:41 +01:00
2024-12-05 10:59:28 +01:00
2023-09-23 10:47:58 +02:00
2022-06-14 17:16:36 +02:00
2022-11-25 17:40:30 +01:00
2024-12-05 10:59:34 +01:00
2023-08-11 11:45:01 +02:00
2024-07-18 11:39:33 +02:00
2024-09-06 02:00:44 +03:00
2025-09-08 17:20:20 +03:00
2024-09-06 02:00:44 +03:00
2021-10-06 15:31:20 +02:00
2024-09-04 13:13:01 +02:00
2020-10-30 10:38:21 +01:00
2023-09-23 10:47:59 +02:00
2020-08-26 10:30:59 +02:00
2024-09-12 11:02:54 +02:00
2024-05-03 06:16:46 +00:00
2024-04-13 12:50:15 +02:00
2022-09-21 11:46:01 +02:00
2025-01-16 01:04:38 +02:00
2024-11-08 16:19:21 +01:00
2020-08-21 11:05:38 +02:00
2025-01-16 01:04:38 +02:00
2024-09-06 02:00:44 +03:00
2023-08-11 11:45:01 +02:00
2025-09-08 17:19:24 +03:00
2025-09-08 17:19:16 +03:00
2023-09-23 10:48:17 +02:00
2023-01-18 11:30:42 +01:00
2024-09-04 13:13:02 +02:00
2021-10-06 15:31:24 +02:00
2023-01-18 11:30:42 +01:00
2024-09-04 13:13:01 +02:00
2024-01-08 16:07:42 +00:00
2023-01-10 06:37:10 +00:00
2023-01-18 11:30:27 +01:00
2024-02-23 08:12:58 +01:00
2020-09-16 21:37:23 +08:00
2022-06-14 16:59:24 +02:00
2024-10-08 21:28:41 +03:00
2021-04-16 07:42:26 +02:00
2023-09-23 10:47:59 +02:00
2021-01-27 11:46:29 +08:00
2024-08-19 05:32:17 +02:00
2024-11-08 16:19:09 +01:00
2024-03-26 18:22:34 -04:00
2021-12-29 06:52:25 +00:00
2024-09-04 13:12:59 +02:00
2020-08-21 15:15:18 +05:30
2023-05-17 11:13:23 +02:00
2025-09-08 17:20:25 +03:00
2020-08-21 15:15:18 +05:30
2023-11-30 09:36:03 +00:00
2020-08-21 15:15:18 +05:30
2025-09-08 17:19:16 +03:00
2024-09-04 13:13:07 +02:00
2020-08-21 15:15:18 +05:30
2023-01-18 11:30:51 +01:00
2022-08-22 10:10:09 -07:00
2023-09-30 11:47:07 +00:00
2022-06-17 12:04:32 +08:00
2024-07-05 09:00:35 +02:00
2021-08-12 13:19:43 +02:00
2023-01-18 12:02:44 +00:00
2020-10-14 20:04:29 +05:30
2021-04-28 13:16:50 +02:00
2024-03-26 18:22:34 -04:00
2021-12-07 12:47:09 +05:30
2022-02-28 19:00:41 +05:30
2022-10-26 13:19:21 +02:00
2022-04-27 13:39:44 +02:00
2023-05-30 12:42:11 +01:00
2022-04-01 11:38:46 +08:00
2023-12-08 09:28:23 +00:00
2025-09-08 17:19:31 +03:00
2020-08-21 15:15:18 +05:30
2023-01-18 12:02:44 +00:00