Date: Thu, 24 Sep 1998 13:16:11 -0700 (PDT) From: Matthew Dillon <dillon@backplane.com> To: Luoqi Chen <luoqi@watermarkgroup.com> Cc: committers@FreeBSD.ORG Subject: Re: Having some serious file write / mmap inconsistancy problems Message-ID: <199809242016.NAA21591@apollo.backplane.com>
next in thread | raw e-mail | index | archive | help
:> * There are a number of situations where the pages can be disassociated :> from the bp. vm_hold_free_pages() will disassociate the pages, :> allocbuf() may disassociate pages, and vfs_vmio_release() will :> disassociate the pages. All of these can occur in situations where :> B_DELWRI is completely ignored. :> :It is very serious if these could ever happen. Could you add some printf :statements at the beginning of these functions to check if the B_DELWRI :flag is set for the buffer? : :-lq Yah, I've started to add debugging stuff. What about line 672-680 of kern/vfs_bio.c ? In brelse(): ... if (bp->b_flags & (B_INVAL | B_RELBUF)) vfs_vmio_release(bp); } else if (bp->b_flags & B_VMIO) { if (bp->b_flags & (B_INVAL | B_RELBUF)) vfs_vmio_release(bp); } Is it possible for B_DELWRI to be set at these points in the code? If vfs_vmio_release() gets called with B_DELWRI set, I think we have a problem. -Matt Matthew Dillon Engineering, HiWay Technologies, Inc. & BEST Internet Communications & God knows what else. <dillon@backplane.com> (Please include original email in any response)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199809242016.NAA21591>