Date: Tue, 29 Dec 2015 22:35:20 +0100 From: Oliver Pinter <oliver.pinter@hardenedbsd.org> To: Gleb Smirnoff <glebius@freebsd.org> Cc: Konstantin Belousov <kib@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>, Shawn Webb <shawn.webb@hardenedbsd.org> Subject: Re: svn commit: r292772 - head/sys/vm Message-ID: <CAPQ4ffueiPCfjTCGj2Ld90qHPg01oVgvtnnj69a2Ttcm7bG6YQ@mail.gmail.com> In-Reply-To: <20151229205952.GV7277@FreeBSD.org> References: <201512271442.tBREgdRr079655@repo.freebsd.org> <20151229205952.GV7277@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, December 29, 2015, Gleb Smirnoff <glebius@freebsd.org> wrote: > On Sun, Dec 27, 2015 at 02:42:39PM +0000, Konstantin Belousov wrote: > K> Author: kib > K> Date: Sun Dec 27 14:42:39 2015 > K> New Revision: 292772 > K> URL: https://svnweb.freebsd.org/changeset/base/292772 > K> > K> Log: > K> Add missed relpbuf() for a smallfs page-in. > K> > K> Reported by: Shawn Webb > K> Tested by: pho > K> Sponsored by: The FreeBSD Foundation > K> > K> Modified: > K> head/sys/vm/vnode_pager.c > K> > K> Modified: head/sys/vm/vnode_pager.c > K> > ============================================================================== > K> --- head/sys/vm/vnode_pager.c Sun Dec 27 14:39:47 2015 > (r292771) > K> +++ head/sys/vm/vnode_pager.c Sun Dec 27 14:42:39 2015 > (r292772) > K> @@ -806,6 +806,7 @@ vnode_pager_generic_getpages(struct vnod > K> * than a page size, then use special small filesystem code. > K> */ > K> if (pagesperblock == 0) { > K> + relpbuf(bp, freecnt); > K> for (i = 0; i < count; i++) { > K> PCPU_INC(cnt.v_vnodein); > K> PCPU_INC(cnt.v_vnodepgsin); > > The reason for this bug is that I tried to move the (pagesperblock == 0) > block above the call to getpbuf(). > > We actually know that filesystem is "small" at the very beginning of the > function and we can branch into "small filesystem" pager immediately. > > Later I moved the block back to its place, simply because new place > wasn't tested properly. And forgot to restore relpbuf. > > What filesystem did you use to show up the bug? I'm about to test the > variant with immediate branching. Shawn, would you be able to test > a patch if I produce one? > > Isofs, and just take the snapshot from Dec. 17. > -- > Totus tuus, Glebius. > _______________________________________________ > svn-src-head@freebsd.org <javascript:;> mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org > <javascript:;>" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPQ4ffueiPCfjTCGj2Ld90qHPg01oVgvtnnj69a2Ttcm7bG6YQ>