Home
last modified time | relevance | path

Searched hist:c506a6386fe1483fd968e467cf5610bea5998d88 (Results 1 – 1 of 1) sorted by relevance

/freebsd/sys/kern/
H A Dkern_sendfile.cdiff c506a6386fe1483fd968e467cf5610bea5998d88 Tue Mar 31 00:13:32 CEST 2020 Konstantin Belousov <kib@FreeBSD.org> 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