Clone cd9660_blkatoff() into a new procedure, cd9660_devblkatoff(), which
authorMatthew Dillon <dillon@dragonflybsd.org>
Sat, 1 Apr 2006 21:55:13 +0000 (21:55 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sat, 1 Apr 2006 21:55:13 +0000 (21:55 +0000)
commit899483f5571a318a1e501338f807b54c1441cd56
tree645677121e56bc33d9f6f3500913553f17424a5d
parent8ddc60049ae330a0af88b01d0b7e12d5001e6bb2
Clone cd9660_blkatoff() into a new procedure, cd9660_devblkatoff(), which
returns a devvp-relative buffer rather then the vp-relative buffer.  This
allows us to access meta-data relative to a vnode without having to
instantiate a VM object for that vnode.  The new function is used for
all directory scans and (negative offset) meta-data access.

This fixes a panic due to recent buffer cache commits that formalized
the requirements for using the buffer cache.

Also, prior to this change, the CD9660 filesystem was using B_MALLOC buffers
for a great deal of meta-data access that could very easily have been backed
by the device vnode's VM object instead.  B_MALLOC buffers have severe
caching limitations.  This commit fixes all of that as well.
sys/vfs/isofs/cd9660/cd9660_lookup.c
sys/vfs/isofs/cd9660/cd9660_node.c
sys/vfs/isofs/cd9660/cd9660_node.h
sys/vfs/isofs/cd9660/cd9660_vfsops.c
sys/vfs/isofs/cd9660/cd9660_vnops.c