mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-03 12:35:02 +00:00
c222ece0cc
pathname lookups. - Remove 'i_offset' and 'i_ino' from the ISO node structure and replace them with local variables in the lookup routine instead. - Cache a copy of 'i_diroff' for use during a lookup in a local variable. - Save a copy of the found directory entry in a malloc'd buffer after a successfull lookup before getting the vnode. This allows us to release the buffer holding the directory block before calling vget() which otherwise resulted in a LOR between "bufwait" and the vnode lock. - Use an inlined version of vn_vget_ino() to handle races with .. lookups. I had to inline the code here since cd9660 uses an internal vget routine to save a disk I/O that would otherwise re-read the directory block. - Honor the requested locking flags during lookups to allow for shared locking. - Honor the requested locking flags passed to VFS_ROOT() and VFS_VGET() similar to UFS. - Don't make every ISO 9660 vnode hold a reference on the vnode of the underlying device vnode of the mountpoint. The mountpoint already holds a suitable reference. |
||
---|---|---|
.. | ||
cd9660_bmap.c | ||
cd9660_iconv.c | ||
cd9660_lookup.c | ||
cd9660_mount.h | ||
cd9660_node.c | ||
cd9660_node.h | ||
cd9660_rrip.c | ||
cd9660_rrip.h | ||
cd9660_util.c | ||
cd9660_vfsops.c | ||
cd9660_vnops.c | ||
iso_rrip.h | ||
iso.h | ||
TODO | ||
TODO.hibler |