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>
