Skip site navigation (1)Skip section navigation (2)
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>