Jens Axboe
9e6d70a910
block: cleanup and fix batch completion adding conditions
...
[ Upstream commit 1f47ed294a ]
The conditions for whether or not a request is allowed adding to a
completion batch are a bit hard to read, and they also have a few
issues. One is that ioerror may indeed be a random value on passthrough,
and it's being checked unconditionally of whether or not the given
request is a passthrough request or not.
Rewrite the conditions to be separate for easier reading, and only check
ioerror for non-passthrough requests. This fixes an issue with bio
unmapping on passthrough, where it fails getting added to a batch. This
both leads to suboptimal performance, and may trigger a potential
schedule-under-atomic condition for polled passthrough IO.
Fixes: f794f3351f ("block: add support for blk_mq_end_request_batch()")
Link: https://lore.kernel.org/r/20575f0a-656e-4bb3-9d82-dec6c7e3a35c@kernel.dk
Signed-off-by: Jens Axboe <axboe@kernel.dk >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2025-02-21 14:01:21 +01:00
..
2025-01-17 13:40:59 +01:00
2024-10-02 17:23:23 -04:00
2024-12-19 18:13:14 +01:00
2024-10-11 15:59:15 -07:00
2024-12-14 20:03:12 +01:00
2024-12-14 20:03:26 +01:00
2024-10-08 17:44:27 +02:00
2025-02-17 10:04:51 +01:00
2024-12-14 20:03:40 +01:00
2024-10-02 17:23:23 -04:00
2025-02-17 10:04:53 +01:00
2024-12-05 14:01:23 +01:00
2024-11-04 14:23:09 +01:00
2024-10-15 07:54:16 +02:00
2024-10-02 17:23:23 -04:00
2025-02-08 09:58:15 +01:00
2024-09-27 09:55:30 -07:00
2024-12-27 14:02:13 +01:00
2024-11-06 21:31:36 +01:00
2024-12-27 14:01:57 +01:00
2024-11-07 11:18:52 +00:00
2024-10-16 13:17:45 +02:00
2025-02-17 10:04:43 +01:00
2025-01-09 13:33:32 +01:00
2024-09-27 12:10:45 -07:00
2025-02-21 14:01:21 +01:00
2024-12-19 18:13:00 +01:00
2024-10-30 12:13:46 -07:00
2024-10-24 10:17:12 -07:00
2024-12-19 18:13:09 +01:00
2025-02-08 09:57:30 +01:00
2025-02-17 10:05:06 +01:00
2024-12-14 20:03:38 +01:00
2024-12-14 20:04:16 +01:00
2024-10-09 16:57:57 -04:00
2024-12-05 14:02:45 +01:00
2024-12-05 14:02:45 +01:00
2024-10-23 16:04:30 +01:00
2024-12-19 18:13:23 +01:00
2025-02-08 09:56:49 +01:00
2024-10-01 20:43:44 +02:00
2024-09-27 12:10:45 -07:00
2024-10-25 16:07:03 -05:00
2024-12-14 20:04:09 +01:00
2024-10-02 17:23:23 -04:00
2025-02-08 09:58:06 +01:00
2024-12-14 20:03:35 +01:00
2025-02-08 09:57:05 +01:00
2024-12-14 20:03:12 +01:00
2024-12-14 20:03:48 +01:00
2024-09-29 21:52:29 -04:00
2025-01-09 13:33:47 +01:00
2024-10-01 17:01:40 +02:00
2024-10-21 14:30:26 +02:00
2025-02-01 18:39:37 +01:00
2024-10-02 15:14:29 +02:00
2025-02-08 09:57:11 +01:00
2024-12-05 14:01:18 +01:00
2024-10-15 18:46:25 +02:00
2025-02-17 10:05:31 +01:00
2025-01-23 17:23:03 +01:00
2024-10-17 00:28:10 -07:00
2024-12-27 14:02:15 +01:00
2025-02-08 09:57:15 +01:00
2025-01-09 13:33:42 +01:00
2024-11-02 22:28:58 -07:00
2024-12-05 14:01:35 +01:00
2024-12-27 14:02:17 +01:00
2025-01-17 13:40:34 +01:00
2024-12-05 14:01:22 +01:00
2025-02-08 09:57:58 +01:00
2024-12-09 10:41:08 +01:00
2024-12-05 14:03:03 +01:00
2024-10-28 21:40:39 -07:00
2025-02-17 10:05:06 +01:00
2024-12-14 20:04:01 +01:00
2024-12-05 14:02:46 +01:00
2024-11-11 00:00:37 -08:00
2025-01-09 13:33:54 +01:00
2025-01-09 13:33:54 +01:00
2025-01-09 13:33:54 +01:00
2024-11-05 16:49:55 -08:00
2024-12-05 14:03:08 +01:00
2024-11-07 14:14:58 -08:00
2025-01-17 13:40:50 +01:00
2025-02-08 09:57:23 +01:00
2024-12-19 18:13:19 +01:00
2025-02-08 09:57:10 +01:00
2025-01-17 13:40:35 +01:00
2024-12-05 14:02:01 +01:00
2025-02-08 09:57:59 +01:00
2024-10-03 16:19:13 -04:00
2024-12-05 14:02:27 +01:00
2024-12-05 14:01:32 +01:00
2024-12-05 14:03:08 +01:00
2024-12-05 14:03:08 +01:00
2024-12-27 14:02:20 +01:00
2024-12-14 20:04:04 +01:00
2024-10-17 00:28:07 -07:00
2025-02-08 09:56:53 +01:00
2024-10-30 17:11:28 +01:00
2025-01-23 17:22:57 +01:00
2025-02-08 09:58:16 +01:00
2025-01-23 17:22:53 +01:00
2024-10-02 17:23:23 -04:00
2025-02-08 09:57:07 +01:00
2024-12-05 14:03:07 +01:00
2024-12-05 14:01:23 +01:00
2024-12-14 20:03:18 +01:00
2025-02-08 09:56:54 +01:00
2025-02-01 18:39:35 +01:00
2024-10-09 12:47:18 -07:00
2024-12-05 14:01:23 +01:00
2025-02-08 09:57:07 +01:00
2025-01-02 10:34:11 +01:00
2024-11-13 19:29:46 -08:00
2024-12-05 14:01:23 +01:00
2024-12-14 20:03:32 +01:00
2024-12-19 18:13:24 +01:00
2024-10-30 20:14:11 -07:00
2024-10-11 10:49:32 +02:00
2024-10-27 10:36:04 +01:00
2024-12-14 20:04:16 +01:00
2024-11-13 21:10:45 +02:00
2025-01-02 10:34:21 +01:00
2024-10-30 11:38:10 -10:00
2024-10-02 17:23:23 -04:00
2024-11-07 14:14:59 -08:00
2025-01-23 17:23:02 +01:00
2024-12-09 10:41:06 +01:00
2024-10-02 17:21:59 -07:00
2024-12-19 18:12:59 +01:00
2024-11-11 00:00:37 -08:00
2025-01-02 10:34:10 +01:00
2024-12-27 14:02:20 +01:00
2025-01-17 13:40:33 +01:00