Caleb Sander Mateos
763ff02ce2
ublk: allow UBLK_IO_(UN)REGISTER_IO_BUF on any task
...
Currently, UBLK_IO_REGISTER_IO_BUF and UBLK_IO_UNREGISTER_IO_BUF are
only permitted on the ublk_io's daemon task. But this restriction is
unnecessary. ublk_register_io_buf() calls __ublk_check_and_get_req() to
look up the request from the tagset and atomically take a reference on
the request without accessing the ublk_io. ublk_unregister_io_buf()
doesn't use the q_id or tag at all.
So allow these opcodes even on tasks other than io->task.
Handle UBLK_IO_UNREGISTER_IO_BUF before obtaining the ubq and io since
the buffer index being unregistered is not necessarily related to the
specified q_id and tag.
Add a feature flag UBLK_F_BUF_REG_OFF_DAEMON that userspace can use to
determine whether the kernel supports off-daemon buffer registration.
Suggested-by: Ming Lei <ming.lei@redhat.com >
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com >
Reviewed-by: Ming Lei <ming.lei@redhat.com >
Link: https://lore.kernel.org/r/20250620151008.3976463-10-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk >
2025-06-30 20:13:42 -06:00
..
2024-07-31 13:56:00 +02:00
2024-06-20 11:52:56 +02:00
2025-03-08 08:57:18 +09:00
2024-04-15 13:42:38 +02:00
2025-02-08 15:16:29 +00:00
2025-05-09 12:08:37 +02:00
2025-05-23 13:57:14 +02:00
2023-08-22 15:13:20 +02:00
2023-04-27 18:49:24 -04:00
2025-01-13 07:36:29 -08:00
2024-09-11 11:23:56 +02:00
2024-07-29 01:19:51 +01:00
2024-02-19 10:58:24 +00:00
2025-04-02 18:23:31 -07:00
2023-06-20 14:28:17 -06:00
2025-03-26 13:59:38 +01:00
2023-05-30 16:42:00 -07:00
2024-08-30 08:22:36 +02:00
2024-02-16 12:42:59 +11:00
2024-10-05 18:23:38 +02:00
2025-02-22 11:36:22 +01:00
2025-06-17 16:55:24 -03:00
2025-02-10 09:54:19 -07:00
2024-09-11 10:45:28 -06:00
2025-05-05 13:22:39 -06:00
2023-07-24 20:11:54 -06:00
2025-05-30 19:53:51 -07:00
2025-02-05 16:17:59 -08:00
2024-07-11 15:33:28 +02:00
2025-03-18 20:35:50 +01:00
2025-02-19 11:10:54 +01:00
2025-03-16 23:24:14 -07:00
2025-04-30 08:16:07 +02:00
2024-08-08 15:23:21 +02:00
2023-07-14 08:43:49 -10:00
2024-05-24 10:36:55 +01:00
2025-03-05 12:00:03 -05:00
2025-02-05 13:22:04 +09:00
2024-10-05 13:22:04 +08:00
2024-04-30 08:48:10 -07:00
2025-05-06 18:21:11 -07:00
2023-07-20 17:24:57 -05:00
2024-06-11 12:57:49 -05:00
2025-05-04 11:35:06 +02:00
2024-06-05 14:52:15 +05:30
2024-11-04 18:11:47 -08:00
2023-08-23 14:17:42 -07:00
2025-03-25 11:30:42 -07:00
2025-03-25 12:48:05 -04:00
2025-06-18 14:10:39 -07:00
2025-06-18 14:10:39 -07:00
2025-05-09 16:24:28 -07:00
2023-06-15 14:55:15 +02:00
2024-02-14 11:01:01 +00:00
2024-09-18 07:40:56 +09:00
2025-02-12 02:29:30 +00:00
2024-08-28 16:53:57 +02:00
2025-02-05 17:21:07 +01:00
2024-01-27 18:08:54 -08:00
2024-12-18 17:00:29 -08:00
2025-04-17 19:04:50 -07:00
2024-12-22 11:29:50 +01:00
2025-03-04 09:47:36 -07:00
2025-05-11 17:48:16 -07:00
2025-04-08 19:32:11 -07:00
2023-08-09 15:43:27 +09:30
2025-04-15 12:56:40 +02:00
2025-05-03 12:02:09 +02:00
2024-02-15 08:44:57 +01:00
2023-10-27 09:21:13 +02:00
2024-05-07 01:35:57 +02:00
2023-05-24 22:05:24 -07:00
2023-10-27 18:04:30 +08:00
2024-08-29 10:39:37 +02:00
2024-05-06 11:13:56 +02:00
2023-10-04 13:00:34 +05:30
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2025-04-14 15:56:42 -07:00
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2025-04-17 12:30:02 +02:00
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2024-04-02 18:24:33 -07:00
2024-04-01 10:49:28 +01:00
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2024-02-27 18:22:49 -08:00
2024-09-04 16:40:33 -07:00
2024-12-05 10:01:09 +01:00
2024-08-26 09:37:23 -07:00
2024-03-06 13:13:00 +01:00
2025-04-11 13:02:30 +02:00
2025-05-26 12:13:22 -07:00
2024-02-28 11:19:41 +00:00
2024-08-22 10:45:12 +02:00
2025-03-28 10:07:23 -03:00
2023-08-15 10:06:49 -06:00
2025-04-17 19:04:50 -07:00
2024-12-05 10:01:09 +01:00
2024-12-05 10:01:28 +01:00
2023-07-28 13:30:51 -07:00
2025-05-08 16:04:06 +03:00
2024-06-01 07:28:21 +02:00
2024-09-01 20:26:05 -07:00
2024-04-23 14:59:01 +10:00
2025-04-11 17:01:25 -04:00
2025-03-05 10:47:33 -05:00
2025-06-20 13:55:47 -04:00
2025-04-17 11:09:10 +02:00
2024-09-12 20:28:46 -07:00
2025-03-10 09:10:53 -04:00
2024-08-19 22:36:26 -04:00
2024-05-08 17:29:24 -04:00
2024-02-22 13:32:55 +01:00
2025-01-16 17:22:59 -08:00
2024-11-05 13:26:42 +02:00
2023-05-25 16:21:22 +02:00
2023-12-15 17:01:30 +01:00
2024-02-22 10:24:46 -08:00
2024-07-19 20:22:12 +02:00
2025-02-12 12:12:34 +01:00
2025-06-25 15:36:28 -07:00
2024-04-11 08:19:54 -07:00
2025-03-21 18:24:22 +00:00
2024-09-06 08:31:40 -06:00
2025-05-21 12:38:20 -07:00
2025-04-17 19:04:50 -07:00
2024-10-10 08:30:22 -07:00
2025-04-17 19:04:50 -07:00
2025-05-13 11:12:48 +02:00
2025-04-17 19:04:50 -07:00
2023-10-20 11:43:35 +01:00
2024-08-12 17:50:34 -07:00
2024-11-07 10:21:58 +01:00
2025-01-21 15:30:01 -05:00
2024-05-06 12:47:24 -04:00
2024-07-08 14:10:05 -04:00
2025-02-28 11:51:32 -08:00
2025-04-23 18:03:30 +02:00
2023-09-27 09:40:02 +02:00
2024-09-16 11:15:26 +02:00
2023-11-28 19:05:16 +00:00
2025-01-08 13:18:11 +01:00
2024-07-05 17:45:47 -07:00
2025-04-17 12:30:02 +02:00
2024-04-25 12:37:12 -07:00
2025-04-19 19:42:43 +05:30
2025-03-26 06:11:54 +00:00
2025-05-22 11:03:41 +02:00
2025-05-21 13:59:12 +02:00
2025-05-15 11:44:29 -07:00
2025-05-15 11:44:29 -07:00
2023-06-07 14:26:09 -06:00
2025-01-08 13:18:09 +01:00
2025-05-03 12:02:08 +02:00
2024-07-05 17:45:47 -07:00
2024-10-24 16:30:33 -07:00
2023-07-20 22:14:21 +12:00
2025-03-15 16:21:22 +08:00
2024-09-08 18:40:33 +01:00
2025-05-11 17:48:15 -07:00
2023-08-09 09:15:39 +02:00
2024-07-19 20:22:48 +02:00
2023-12-20 19:26:31 -05:00
2025-02-21 10:33:01 +01:00
2023-07-15 11:35:02 -07:00
2025-02-25 18:14:03 -08:00
2025-04-14 17:36:41 -07:00
2024-06-18 10:09:17 -10:00
2023-07-17 16:08:08 -07:00
2024-12-18 17:00:29 -08:00
2024-10-22 08:16:40 -06:00
2023-10-10 08:51:10 +02:00
2023-09-18 11:14:42 +02:00
2024-01-27 18:15:24 -08:00
2024-09-05 20:11:43 +02:00
2024-07-16 11:44:00 -04:00
2023-12-26 20:24:33 +00:00
2024-08-20 11:38:23 +02:00
2025-04-10 18:29:26 -07:00
2025-05-07 14:25:30 -07:00
2025-02-28 11:51:32 -08:00
2023-12-02 01:17:48 +02:00
2025-05-20 22:49:39 -07:00
2024-07-01 09:44:27 +01:00
2025-04-24 18:21:04 -07:00
2024-04-03 14:03:09 +02:00
2025-02-11 20:53:14 +01:00
2023-12-04 10:37:46 +01:00
2025-05-21 13:41:03 +02:00
2023-06-15 13:41:53 +02:00
2024-07-03 16:40:45 -04:00
2024-09-30 09:20:59 +01:00
2025-06-30 20:13:42 -06:00
2025-04-17 12:30:02 +02:00
2024-09-11 20:44:32 -07:00
2024-07-03 12:24:54 +02:00
2024-03-18 10:13:03 -04:00
2023-12-29 11:58:24 -08:00
2025-03-03 18:23:36 +01:00
2025-03-03 18:23:36 +01:00
2024-11-08 13:38:09 +01:00
2024-04-29 14:56:36 +02:00
2024-04-29 14:56:37 +02:00
2024-08-22 16:56:24 -07:00
2024-09-10 02:51:48 -04:00
2025-01-08 06:37:13 -05:00
2024-01-27 18:08:54 -08:00
2025-04-01 18:03:46 -07:00
2023-11-01 09:20:00 -04:00
2025-04-14 09:51:31 -04:00
2025-05-09 12:08:37 +02:00
2024-09-10 02:51:48 -04:00
2024-05-14 10:54:49 -04:00
2023-12-19 11:51:31 -07:00
2024-10-05 13:22:04 +08:00
2025-03-28 04:53:51 +03:00
2024-05-22 08:31:15 -04:00
2025-03-25 09:30:21 -07:00
2025-04-14 09:51:31 -04:00
2024-01-10 13:01:37 -05:00
2025-05-27 10:27:54 -04:00
2025-02-14 12:58:02 +01:00
2025-06-24 17:12:59 -07:00
2024-10-09 12:16:18 +01:00
2025-05-21 13:41:03 +02:00
2025-05-27 09:06:19 +02:00
2023-05-28 19:07:48 -06:00
2025-02-13 19:35:31 -08:00
2024-12-05 10:01:15 +01:00
2024-06-04 08:59:58 +02:00