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
..
2025-03-08 08:57:18 +09: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
2025-01-13 07:36:29 -08:00
2025-04-02 18:23:31 -07:00
2025-03-26 13:59:38 +01: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
2025-05-05 13:22:39 -06:00
2025-05-30 19:53:51 -07:00
2025-02-05 16:17:59 -08: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
2025-03-05 12:00:03 -05:00
2025-02-05 13:22:04 +09:00
2024-10-05 13:22:04 +08:00
2025-05-06 18:21:11 -07:00
2025-05-04 11:35:06 +02:00
2024-11-04 18:11:47 -08: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
2025-02-12 02:29:30 +00:00
2025-02-05 17:21:07 +01: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
2025-04-15 12:56:40 +02:00
2025-05-03 12:02:09 +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
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
2025-04-17 19:04:50 -07:00
2025-04-17 19:04:50 -07:00
2024-12-05 10:01:09 +01:00
2025-04-11 13:02:30 +02:00
2025-05-26 12:13:22 -07:00
2025-03-28 10:07:23 -03: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
2025-05-08 16:04:06 +03: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
2025-03-10 09:10:53 -04:00
2025-01-16 17:22:59 -08:00
2024-11-05 13:26:42 +02:00
2025-02-12 12:12:34 +01:00
2025-06-25 15:36:28 -07:00
2025-03-21 18:24:22 +00: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
2024-11-07 10:21:58 +01:00
2025-01-21 15:30:01 -05:00
2025-02-28 11:51:32 -08:00
2025-04-23 18:03:30 +02:00
2025-01-08 13:18:11 +01:00
2025-04-17 12:30:02 +02: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
2025-01-08 13:18:09 +01:00
2025-05-03 12:02:08 +02:00
2024-10-24 16:30:33 -07:00
2025-03-15 16:21:22 +08:00
2025-05-11 17:48:15 -07:00
2025-02-21 10:33:01 +01:00
2025-02-25 18:14:03 -08:00
2025-04-14 17:36:41 -07:00
2024-12-18 17:00:29 -08:00
2024-10-22 08:16:40 -06: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
2025-05-20 22:49:39 -07:00
2025-04-24 18:21:04 -07:00
2025-02-11 20:53:14 +01:00
2025-05-21 13:41:03 +02:00
2025-06-30 20:13:42 -06:00
2025-04-17 12:30:02 +02: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
2025-01-08 06:37:13 -05:00
2025-04-01 18:03:46 -07:00
2025-04-14 09:51:31 -04:00
2025-05-09 12:08:37 +02:00
2024-10-05 13:22:04 +08:00
2025-03-28 04:53:51 +03:00
2025-03-25 09:30:21 -07:00
2025-04-14 09:51:31 -04: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
2025-02-13 19:35:31 -08:00
2024-12-05 10:01:15 +01:00