I think I've found the general area where the problem is occuring.
    It appears to some sort of weird write()/remove() interaction.

    In the make install, the problem appears to only occurs when 
    install -s  ( install and strip binary ) is used.

    This causes an NFS file to be written, copied, and then removed.

    I think what is going on is that the dirty bp's associated with the
    file being removed are not being cleared out prior to the NFS setattr
    call that removes the actual file.

    Then a flushdirtyblks() call comes along and tries to vfs_bio_awrite()'s
    the B_INVALID|B_DELWRI buffers.

    I still can't figure out where exactly in the code the problem is
    occuring, though.  It's definitely related to a just-written file via
    NFS getting remove()'d, and then a later flushdirtyblks() call doing
    something that causes the blocks to be written out to the server ( and
    thus returning a 'Stale file' error ).

                                        -Matt
                                        Matthew Dillon 
                                        <dil...@backplane.com>

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

Reply via email to