svn commit: r281442 - head/sys/kern
Konstantin Belousov
kostikbel at gmail.com
Fri Apr 24 20:35:05 UTC 2015
On Thu, Apr 23, 2015 at 09:53:19PM +0200, Antoine Brodin wrote:
> On Sat, Apr 11, 2015 at 8:51 PM, Will Andrews <will at freebsd.org> wrote:
> > Author: will
> > Date: Sat Apr 11 18:51:41 2015
> > New Revision: 281442
> > URL: https://svnweb.freebsd.org/changeset/base/281442
> >
> > Log:
> > uiomove_object_page(): Avoid instantiating pages in sparse regions on reads.
> >
> > Check whether the page being requested is either resident or on swap. If
> > not, read from the zero_region instead of instantiating an unnecessary page.
> >
> > This avoids consuming memory for sparse files on tmpfs, when they are read
> > by applications that do not use SEEK_HOLE/SEEK_DATA (which is most of them).
> >
> > Reviewed by: kib
> > MFC after: 1 week
> > Sponsored by: Spectra Logic
>
> Hi,
>
> We have a daily panic on one of the package builders:
> https://reviews.freebsd.org/P60
>
> Reverting this commit seems to fix the panic.
I already provided the following patch to gjb.
I am waiting for a confirmation to commit.
diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c
index 8410ed9..93c7ed1 100644
--- a/sys/kern/uipc_shm.c
+++ b/sys/kern/uipc_shm.c
@@ -170,7 +170,7 @@ uiomove_object_page(vm_object_t obj, size_t len, struct uio *uio)
if (uio->uio_rw == UIO_READ && vm_page_lookup(obj, idx) == NULL &&
!vm_pager_has_page(obj, idx, NULL, NULL)) {
VM_OBJECT_WUNLOCK(obj);
- return (uiomove(__DECONST(void *, zero_region), len, uio));
+ return (uiomove(__DECONST(void *, zero_region), tlen, uio));
}
/*
More information about the svn-src-all
mailing list