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