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-02-15 01:30:13 +00:00
2020-02-03 17:35:11 +00:00
2020-03-17 22:27:16 +00:00
2019-09-03 18:56:25 +00:00
2020-03-02 15:30:52 +00:00
2020-03-02 15:30:52 +00:00
2020-03-02 15:30:52 +00:00
2020-03-02 15:30:52 +00:00
2019-03-12 05:10:41 +00:00
2020-03-02 15:30:52 +00:00
2019-02-20 09:38:19 +00:00
2020-02-03 17:35:11 +00:00
2020-01-12 23:52:16 +00:00
2020-03-20 20:09:00 +00:00
2020-02-20 16:58:19 +00:00
2020-03-20 16:18:54 +00:00
2020-02-15 01:28:42 +00:00
2020-03-30 21:42:46 +00:00
2020-02-15 01:28:42 +00:00
2020-02-23 03:32:11 +00:00
2020-02-23 03:32:11 +00:00