cvs commit: src/sys/kern vfs_subr.c

Jeff Roberson jeff at FreeBSD.org
Tue Jan 31 16:30:06 PST 2006


jeff        2006-02-01 00:30:05 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             vfs_subr.c 
  Log:
   - Solve a race where we could lose a call to VOP_INACTIVE.  If vget() waiting
     on a lock held the last usecount ref on a vnode and the lock failed we
     would not call INACTIVE.  Solve this by only holding a holdcnt to prevent
     the vnode from disappearing while we wait on vn_lock.  Other callers
     may now VOP_INACTIVE while we are waiting on the lock, however this race
     is acceptable, while losing INACTIVE is not.
  
  Discussed with: kan, pjd
  Tested by:      kkenn
  Sponsored by:   Isilon Systems, Inc.
  MFC After:      1 week
  
  Revision  Changes    Path
  1.657     +30 -12    src/sys/kern/vfs_subr.c


More information about the cvs-all mailing list