cvs commit: src/sys/fs/nwfs nwfs_io.c src/sys/fs/smbfs smbfs_io.c
 src/sys/nfsclient nfs_bio.c
    Jeff Roberson 
    jeff at FreeBSD.org
       
    Fri Sep 19 16:37:53 PDT 2003
    
    
  
jeff        2003/09/19 16:37:49 PDT
  FreeBSD src repository
  Modified files:
    sys/fs/nwfs          nwfs_io.c 
    sys/fs/smbfs         smbfs_io.c 
    sys/nfsclient        nfs_bio.c 
  Log:
   - Remove interlock protection around VI_XLOCK.  The interlock is not
     sufficient to guarantee that this race is not hit.  The XLOCK will likely
     have to be redesigned due to the way reference counting and mutexes work
     in FreeBSD.  We currently can not be guaranteed that xlock was not set
     and cleared while we were blocked on the interlock while waiting to check
     for XLOCK.  This would lead us to reference a vnode which was not the
     vnode we requested.
   - Add a backtrace() call inside of INVARIANTS in the hopes of finding out if
     this condition is ever hit.  It should not, since we should be retaining
     a reference to the vnode in these cases.  The reference would be sufficient
     to block recycling.
  
  Revision  Changes    Path
  1.30      +3 -3      src/sys/fs/nwfs/nwfs_io.c
  1.23      +3 -3      src/sys/fs/smbfs/smbfs_io.c
  1.121     +3 -4      src/sys/nfsclient/nfs_bio.c
    
    
More information about the cvs-src
mailing list