cvs commit: src/sys/ufs/ufs ufs_lookup.c

Jeff Roberson jeff at FreeBSD.org
Fri Apr 11 09:44:27 UTC 2008


jeff        2008-04-11 09:44:25 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ufs          ufs_lookup.c 
  Log:
   - cache dp->i_offset in the local 'i_offset' variable for use in loop
     indexes so directory lookup becomes shared lock safe.  In the modifying
     cases an exclusive lock is held here so the commit routine may
     rely on the state of i_offset.
   - Similarly handle i_diroff by fetching at the start and setting only once
     the operation is complete.  Without the exclusive lock these are only
     considered hints.
   - Assert that an exclusive lock is held when we're preparing for a commit
     routine.
   - Honor the lock type request from lookup instead of always using exclusive
     locking.
  
  Tested by:      pho, kris
  
  Revision  Changes    Path
  1.87      +48 -29    src/sys/ufs/ufs/ufs_lookup.c


More information about the cvs-src mailing list