John Baldwin
f54c5606b3
Allow the fast-path for disk AIO requests to fail requests.
...
- If aio_qphysio() returns a non-zero error code, fail the request rather
than queueing it to the AIO kproc pool to be retried via the slow path.
Currently this means that if vm_fault_quick_hold_pages() reports an
error, EFAULT is returned from the fast-path rather than retrying the
request in the slow path where it will still fail with EFAULT.
- If aio_qphysio() wishes to use the fast path for a device that doesn't
support unmapped I/O but there are already the maximum number of
such requests in flight, fail with EAGAIN as we do for other AIO
resource limits rather than queueing the request to the AIO kproc pool.
- Move the opcode check for aio_qphysio() out of the caller and into
aio_qphysio() to simplify some logic and remove two goto's while here.
It also uses a whitelist (only supported for LIO_READ / LIO_WRITE)
rather than a blacklist (skipped for LIO_SYNC).
PR: 217261
Submitted by: jkim (an earlier version)
MFC after: 2 weeks
Sponsored by: Chelsio Communications
2018-01-10 00:18:47 +00:00
..
2017-01-15 17:54:01 +00:00
2017-10-12 15:45:53 +00:00
2017-12-31 09:23:19 +00:00
2017-04-13 15:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-03-21 18:02:14 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2018-01-08 21:27:41 +00:00
2017-11-30 20:33:45 +00:00
2017-11-27 15:20:12 +00:00
2017-11-30 20:33:45 +00:00
2017-12-31 09:22:31 +00:00
2017-10-12 15:48:37 +00:00
2017-11-18 14:26:50 +00:00
2017-11-27 15:20:12 +00:00
2018-01-03 00:56:30 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-12-19 18:20:38 +00:00
2017-11-27 15:20:12 +00:00
2018-01-03 00:56:30 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-12-31 09:24:11 +00:00
2017-11-27 15:20:12 +00:00
2017-11-25 04:49:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2018-01-07 13:21:01 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-12-31 00:34:29 +00:00
2017-01-25 20:22:32 +00:00
2017-04-17 16:51:04 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2018-01-04 21:59:34 +00:00
2017-11-23 11:25:11 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2018-01-04 22:07:58 +00:00
2017-11-21 14:59:23 +00:00
2017-12-31 02:31:01 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2018-01-05 20:21:46 +00:00
2017-11-27 15:20:12 +00:00
2018-01-08 21:27:41 +00:00
2018-01-08 21:27:41 +00:00
2017-11-27 15:20:12 +00:00
2017-12-31 02:31:01 +00:00
2017-12-25 04:48:39 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-12-19 10:05:45 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-25 23:41:05 +00:00
2017-12-31 09:21:01 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-18 14:26:50 +00:00
2017-11-27 15:20:12 +00:00
2017-12-25 04:48:39 +00:00
2017-05-23 09:29:05 +00:00
2017-12-13 16:30:39 +00:00
2017-11-18 14:26:50 +00:00
2017-11-18 14:26:50 +00:00
2017-11-20 19:43:44 +00:00
2017-11-29 23:28:40 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-12-31 09:23:52 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2018-01-07 18:06:30 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2018-01-08 21:27:41 +00:00
2017-11-27 15:20:12 +00:00
2017-08-07 14:09:57 +00:00
2017-11-27 15:20:12 +00:00
2017-11-30 20:33:45 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-10-05 14:43:30 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-08-16 16:51:55 +00:00
2017-11-29 12:49:22 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-12-25 04:48:39 +00:00
2017-11-20 19:43:44 +00:00
2017-11-28 05:39:48 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-12-31 09:24:41 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-02-07 17:31:24 +00:00
2017-11-20 19:43:44 +00:00
2017-12-25 04:48:39 +00:00
2017-12-21 09:17:48 +00:00
2017-11-27 15:20:12 +00:00
2017-11-18 14:26:50 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-18 14:26:50 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-28 23:40:54 +00:00
2017-12-25 04:48:39 +00:00
2017-11-27 15:20:12 +00:00
2017-12-01 11:18:19 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-06-17 00:58:19 +00:00
2017-11-28 18:23:17 +00:00
2017-06-17 00:58:19 +00:00
2017-12-31 03:34:00 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-12-31 03:34:00 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-11-27 15:20:12 +00:00
2018-01-10 00:18:47 +00:00
2017-11-27 15:20:12 +00:00
2017-12-01 22:51:02 +00:00
2017-11-20 19:43:44 +00:00
2017-12-19 22:39:05 +00:00
2017-12-23 17:55:19 +00:00
2017-12-13 16:14:38 +00:00
2017-11-27 15:20:12 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2018-01-07 18:07:22 +00:00
2017-12-31 09:23:52 +00:00
2017-12-27 03:23:21 +00:00
2017-11-20 19:43:44 +00:00
2017-11-20 19:43:44 +00:00
2017-06-02 17:31:25 +00:00