Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jan 1999 10:22:19 -0800 (PST)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        Luoqi Chen <luoqi@watermarkgroup.com>
Cc:        skynyrd@opus.cts.cwu.edu, freebsd-current@FreeBSD.ORG, jdp@polstra.com, luoqi@FreeBSD.ORG
Subject:   Re:  NFS problem found - pleaes try this patch.
Message-ID:  <199901181822.KAA75229@apollo.backplane.com>

next in thread | raw e-mail | index | archive | help
    Ahhhh.  Yes, I see.  I will unapply my patch and apply this one and test
    it.

    I'm not sure what the use of having m->valid and m->clean bits are at all
    if we have to munge them like this.  Perhaps we should change these
    vm_page_t to a byte range in -4.0.

    I think we also need to redefine the way dirty bp's are handled, though,
    and at least panic if it tries to clear B_CACHE on something that B_CACHE
    should not be cleared on.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

:The check is correct and should be there, the B_CACHE bit was cleared because
:I made a mistake when setting the valid bit in the vm page.
:
:Index: vfs_bio.c
:===================================================================
:RCS file: /home/ncvs/src/sys/kern/vfs_bio.c,v
:retrieving revision 1.192
:diff -u -r1.192 vfs_bio.c
:--- vfs_bio.c	1999/01/12 11:59:34	1.192
:+++ vfs_bio.c	1999/01/18 14:45:33
:@@ -2171,7 +2171,7 @@
: 		    (vm_offset_t) (soff & PAGE_MASK),
: 		    (vm_offset_t) (eoff - soff));
: 		sv = (bp->b_offset + bp->b_validoff + DEV_BSIZE - 1) & ~(DEV_BSIZE - 1);
:-		ev = (bp->b_offset + bp->b_validend) & ~(DEV_BSIZE - 1);
:+		ev = (bp->b_offset + bp->b_validend + DEV_BSIZE - 1) & ~(DEV_BSIZE - 1);
: 		soff = qmax(sv, soff);
: 		eoff = qmin(ev, eoff);
: 	}
:
:Note the calculation of ev, the original code was a round-up and I changed it
:to round-down in my -r1.188 commit (I thought it was a bug in the original
:code, but it was actually me who didn't understand the nfs code well enough).
:
:-lq


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901181822.KAA75229>