Konstantin Belousov
c506a6386f
kern_sendfile.c: fix bugs with handling of busy page states.
...
- Do not call into a vnode pager while leaving some pages from the
same block as the current run, xbusy. This immediately deadlocks if
pager needs to instantiate the buffer.
- Only relookup bogus pages after io finished, otherwise we might
obliterate the valid pages by out of date disk content. While there,
expand the comment explaining this pecularity.
- Do not double-unbusy on error. Split unbusy for error case, which
is left in the sendfile_swapin(), from the more properly coded
normal case in sendfile_iodone().
- Add an XXXKIB comment explaining the serious bug in the validation
algorithm, not fixed by this patch series.
PR: 244713
Reviewed by: glebius, markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D24038
2020-03-30 22:13:32 +00:00
..
2020-02-26 16:22:28 +00:00
2020-03-30 18:24:07 +00:00
2019-10-29 17:28:25 +00:00
2020-01-03 22:29:58 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2018-11-29 21:00:56 +00:00
2020-01-30 20:05:05 +00:00
2020-02-20 16:58:57 +00:00
2020-02-26 14:26:36 +00:00
2020-01-30 20:05:05 +00:00
2020-02-26 14:26:36 +00:00
2020-01-30 20:05:05 +00:00
2020-02-26 14:26:36 +00:00
2018-11-26 20:56:05 +00:00
2020-02-26 14:26:36 +00:00
2019-12-13 09:32:16 +00:00
2020-01-03 22:29:58 +00:00
2020-03-19 15:40:05 +00:00
2019-10-14 13:04:04 +00:00
2019-09-12 14:34:46 +00:00
2020-02-26 14:26:36 +00:00
2020-02-15 01:30:13 +00:00
2020-03-04 19:52:34 +00:00
2020-02-03 17:35:11 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-01-30 20:05:05 +00:00
2020-02-26 14:26:36 +00:00
2020-03-14 14:04:55 +00:00
2020-02-26 14:26:36 +00:00
2020-01-30 20:05:05 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-03-08 00:23:36 +00:00
2020-02-14 11:21:28 +00:00
2020-01-30 20:05:05 +00:00
2019-08-21 23:43:58 +00:00
2018-12-07 16:11:45 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-03-17 22:27:16 +00:00
2020-01-30 20:05:05 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2019-01-15 01:02:16 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-02-13 22:22:15 +00:00
2020-02-26 14:26:36 +00:00
2019-09-03 18:56:25 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2019-09-15 02:59:53 +00:00
2020-02-15 18:48:38 +00:00
2020-01-30 20:05:05 +00:00
2020-02-12 11:17:18 +00:00
2020-02-26 14:26:36 +00:00
2020-03-30 22:13:32 +00:00
2019-12-02 22:38:25 +00:00
2020-03-12 21:26:36 +00:00
2020-03-10 20:25:03 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-03-02 15:30:52 +00:00
2019-12-11 15:52:29 +00:00
2020-02-10 20:53:59 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-02-29 18:41:48 +00:00
2020-02-04 21:02:08 +00:00
2020-03-16 22:25:25 +00:00
2020-01-30 20:05:05 +00:00
2020-03-02 15:30:52 +00:00
2019-06-19 15:36:02 +00:00
2018-12-04 16:48:47 +00:00
2020-01-30 20:05:05 +00:00
2020-03-18 02:58:18 +00:00
2019-06-25 16:39:25 +00:00
2020-02-12 19:06:34 +00:00
2019-09-30 20:58:29 +00:00
2020-02-26 14:26:36 +00:00
2020-03-02 15:30:52 +00:00
2020-03-02 15:30:52 +00:00
2019-05-13 23:37:44 +00:00
2018-12-11 19:32:16 +00:00
2020-01-30 20:05:05 +00:00
2020-01-03 18:29:20 +00:00
2020-01-30 20:05:05 +00:00
2019-04-18 22:52:12 +00:00
2020-01-30 20:05:05 +00:00
2020-03-27 18:25:23 +00:00
2020-02-26 14:26:36 +00:00
2020-03-26 15:02:37 +00:00
2020-01-30 20:05:05 +00:00
2020-02-20 23:53:48 +00:00
2020-03-06 19:09:01 +00:00
2020-02-14 23:18:03 +00:00
2020-03-25 23:12:43 +00:00
2019-12-20 03:40:53 +00:00
2020-02-26 14:26:36 +00:00
2019-03-12 05:10:41 +00:00
2020-02-26 14:26:36 +00:00
2019-05-21 20:38:48 +00:00
2020-01-30 20:05:05 +00:00
2020-01-30 20:05:05 +00:00
2019-11-28 08:47:36 +00:00
2020-03-30 14:24:03 +00:00
2020-01-30 20:05:05 +00:00
2020-01-30 20:05:05 +00:00
2020-02-26 14:26:36 +00:00
2020-03-02 15:30:52 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-03-06 19:09:01 +00:00
2019-04-06 21:56:24 +00:00
2019-05-20 00:38:23 +00:00
2020-01-12 06:07:54 +00:00
2020-02-26 14:26:36 +00:00
2019-02-20 09:38:19 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-01-30 20:05:05 +00:00
2019-08-16 19:46:22 +00:00
2019-06-29 00:48:33 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2020-03-06 19:10:00 +00:00
2019-09-25 18:26:31 +00:00
2020-02-26 14:26:36 +00:00
2020-02-28 17:05:04 +00:00
2020-02-11 18:48:07 +00:00
2019-09-26 07:19:26 +00:00
2020-03-10 20:04:38 +00:00
2020-02-26 14:26:36 +00:00
2020-02-03 17:35:11 +00:00
2020-01-30 20:05:05 +00:00
2020-02-19 08:17:27 +00:00
2020-02-26 14:26:36 +00:00
2020-03-19 15:39:45 +00:00
2020-02-03 22:27:55 +00:00
2020-01-12 23:52:16 +00:00
2020-03-09 23:40:25 +00:00
2019-11-25 18:33:21 +00:00
2020-01-30 20:05:05 +00:00
2020-03-20 20:09:00 +00:00
2020-02-20 16:58:57 +00:00
2020-02-20 16:58:19 +00:00
2020-02-20 16:58:57 +00:00
2019-05-04 19:05:30 +00:00
2020-01-30 20:05:05 +00:00
2020-02-15 23:19:23 +00:00
2020-01-30 20:05:05 +00:00
2020-01-31 15:43:33 +00:00
2019-11-29 03:56:01 +00:00
2019-05-20 00:38:23 +00:00
2020-02-03 22:27:55 +00:00
2020-02-26 14:26:36 +00:00
2020-01-15 03:34:21 +00:00
2020-03-27 18:25:23 +00:00
2019-11-06 22:40:19 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2018-12-11 19:32:16 +00:00
2020-03-03 00:28:37 +00:00
2020-02-26 14:26:36 +00:00
2020-02-26 14:26:36 +00:00
2019-08-11 19:16:07 +00:00
2020-03-20 16:18:54 +00:00
2020-02-15 01:28:42 +00:00
2020-02-26 14:26:36 +00:00
2020-03-30 21:42:46 +00:00
2020-03-06 19:10:00 +00:00
2020-01-30 20:05:05 +00:00
2020-03-30 21:44:30 +00:00
2018-11-23 22:24:59 +00:00
2020-02-15 01:28:42 +00:00
2020-01-11 22:56:20 +00:00
2020-01-30 20:05:05 +00:00
2020-03-01 21:54:28 +00:00
2020-03-22 18:18:30 +00:00
2020-03-01 21:53:46 +00:00
2020-03-06 18:41:37 +00:00
2020-03-24 17:16:52 +00:00
2020-02-23 03:32:11 +00:00
2020-02-23 03:32:11 +00:00