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>