update for 4.4BSD-Lite (from mycroft)
[unix-history] / usr / src / sys / isofs / cd9660 / cd9660_vnops.c
index 101f1bb..e2e3eee 100644 (file)
@@ -9,7 +9,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)cd9660_vnops.c      8.2 (Berkeley) %G%
+ *     @(#)cd9660_vnops.c      8.8 (Berkeley) %G%
  */
 
 #include <sys/param.h>
  */
 
 #include <sys/param.h>
@@ -30,7 +30,7 @@
 #include <sys/dir.h>
 
 #include <isofs/cd9660/iso.h>
 #include <sys/dir.h>
 
 #include <isofs/cd9660/iso.h>
-#include <isofs/cd9660/isofs_node.h>
+#include <isofs/cd9660/cd9660_node.h>
 #include <isofs/cd9660/iso_rrip.h>
 
 #if 0
 #include <isofs/cd9660/iso_rrip.h>
 
 #if 0
@@ -38,7 +38,7 @@
  * Mknod vnode call
  *  Actually remap the device number
  */
  * Mknod vnode call
  *  Actually remap the device number
  */
-isofs_mknod(ndp, vap, cred, p)
+cd9660_mknod(ndp, vap, cred, p)
        struct nameidata *ndp;
        struct ucred *cred;
        struct vattr *vap;
        struct nameidata *ndp;
        struct ucred *cred;
        struct vattr *vap;
@@ -48,7 +48,7 @@ isofs_mknod(ndp, vap, cred, p)
        free(ndp->ni_pnbuf, M_NAMEI);
        vput(ndp->ni_dvp);
        vput(ndp->ni_vp);
        free(ndp->ni_pnbuf, M_NAMEI);
        vput(ndp->ni_dvp);
        vput(ndp->ni_vp);
-       return EINVAL;
+       return (EINVAL);
 #else
        register struct vnode *vp;
        struct iso_node *ip;
 #else
        register struct vnode *vp;
        struct iso_node *ip;
@@ -64,7 +64,7 @@ isofs_mknod(ndp, vap, cred, p)
                free(ndp->ni_pnbuf, M_NAMEI);
                vput(ndp->ni_dvp);
                vput(ndp->ni_vp);
                free(ndp->ni_pnbuf, M_NAMEI);
                vput(ndp->ni_dvp);
                vput(ndp->ni_vp);
-               return EINVAL;
+               return (EINVAL);
        }
        
        dp = iso_dmap(ip->i_dev,ip->i_number,1);
        }
        
        dp = iso_dmap(ip->i_dev,ip->i_number,1);
@@ -96,7 +96,7 @@ isofs_mknod(ndp, vap, cred, p)
  */
 /* ARGSUSED */
 int
  */
 /* ARGSUSED */
 int
-isofs_open(ap)
+cd9660_open(ap)
        struct vop_open_args /* {
                struct vnode *a_vp;
                int  a_mode;
        struct vop_open_args /* {
                struct vnode *a_vp;
                int  a_mode;
@@ -114,7 +114,7 @@ isofs_open(ap)
  */
 /* ARGSUSED */
 int
  */
 /* ARGSUSED */
 int
-isofs_close(ap)
+cd9660_close(ap)
        struct vop_close_args /* {
                struct vnode *a_vp;
                int  a_fflag;
        struct vop_close_args /* {
                struct vnode *a_vp;
                int  a_fflag;
@@ -131,7 +131,7 @@ isofs_close(ap)
  * super user is granted all permissions.
  */
 /* ARGSUSED */
  * super user is granted all permissions.
  */
 /* ARGSUSED */
-isofs_access(ap)
+cd9660_access(ap)
        struct vop_access_args /* {
                struct vnode *a_vp;
                int  a_mode;
        struct vop_access_args /* {
                struct vnode *a_vp;
                int  a_mode;
@@ -139,10 +139,53 @@ isofs_access(ap)
                struct proc *a_p;
        } */ *ap;
 {
                struct proc *a_p;
        } */ *ap;
 {
-       return (0);
+       struct iso_node *ip = VTOI(ap->a_vp);
+       struct ucred *cred = ap->a_cred;
+       mode_t mask, mode = ap->a_mode;
+       gid_t *gp;
+       int i, error;
+
+       /* User id 0 always gets access. */
+       if (cred->cr_uid == 0)
+               return (0);
+
+       mask = 0;
+
+       /* Otherwise, check the owner. */
+       if (cred->cr_uid == ip->inode.iso_uid) {
+               if (mode & VEXEC)
+                       mask |= S_IXUSR;
+               if (mode & VREAD)
+                       mask |= S_IRUSR;
+               if (mode & VWRITE)
+                       mask |= S_IWUSR;
+               return ((ip->inode.iso_mode & mask) == mask ? 0 : EACCES);
+       }
+
+       /* Otherwise, check the groups. */
+       for (i = 0, gp = cred->cr_groups; i < cred->cr_ngroups; i++, gp++)
+               if (ip->inode.iso_gid == *gp) {
+                       if (mode & VEXEC)
+                               mask |= S_IXGRP;
+                       if (mode & VREAD)
+                               mask |= S_IRGRP;
+                       if (mode & VWRITE)
+                               mask |= S_IWGRP;
+                       return ((ip->inode.iso_mode & mask) == mask ?
+                           0 : EACCES);
+               }
+
+       /* Otherwise, check everyone else. */
+       if (mode & VEXEC)
+               mask |= S_IXOTH;
+       if (mode & VREAD)
+               mask |= S_IROTH;
+       if (mode & VWRITE)
+               mask |= S_IWOTH;
+       return ((ip->inode.iso_mode & mask) == mask ? 0 : EACCES);
 }
 
 }
 
-isofs_getattr(ap)
+cd9660_getattr(ap)
        struct vop_getattr_args /* {
                struct vnode *a_vp;
                struct vattr *a_vap;
        struct vop_getattr_args /* {
                struct vnode *a_vp;
                struct vattr *a_vap;
@@ -191,7 +234,7 @@ extern int doclusterread;
 /*
  * Vnode op for reading.
  */
 /*
  * Vnode op for reading.
  */
-isofs_read(ap)
+cd9660_read(ap)
        struct vop_read_args /* {
                struct vnode *a_vp;
                struct uio *a_uio;
        struct vop_read_args /* {
                struct vnode *a_vp;
                struct uio *a_uio;
@@ -213,7 +256,7 @@ isofs_read(ap)
                return (0);
        if (uio->uio_offset < 0)
                return (EINVAL);
                return (0);
        if (uio->uio_offset < 0)
                return (EINVAL);
-       ip->i_flag |= IACC;
+       ip->i_flag |= IN_ACCESS;
        imp = ip->i_mnt;
        do {
                lbn = iso_lblkno(imp, uio->uio_offset);
        imp = ip->i_mnt;
        do {
                lbn = iso_lblkno(imp, uio->uio_offset);
@@ -260,7 +303,7 @@ isofs_read(ap)
 
 /* ARGSUSED */
 int
 
 /* ARGSUSED */
 int
-isofs_ioctl(ap)
+cd9660_ioctl(ap)
        struct vop_ioctl_args /* {
                struct vnode *a_vp;
                int  a_command;
        struct vop_ioctl_args /* {
                struct vnode *a_vp;
                int  a_command;
@@ -276,7 +319,7 @@ isofs_ioctl(ap)
 
 /* ARGSUSED */
 int
 
 /* ARGSUSED */
 int
-isofs_select(ap)
+cd9660_select(ap)
        struct vop_select_args /* {
                struct vnode *a_vp;
                int  a_which;
        struct vop_select_args /* {
                struct vnode *a_vp;
                int  a_which;
@@ -299,7 +342,7 @@ isofs_select(ap)
  */
 /* ARGSUSED */
 int
  */
 /* ARGSUSED */
 int
-isofs_mmap(ap)
+cd9660_mmap(ap)
        struct vop_mmap_args /* {
                struct vnode *a_vp;
                int  a_fflags;
        struct vop_mmap_args /* {
                struct vnode *a_vp;
                int  a_fflags;
@@ -318,7 +361,7 @@ isofs_mmap(ap)
  */
 /* ARGSUSED */
 int
  */
 /* ARGSUSED */
 int
-isofs_seek(ap)
+cd9660_seek(ap)
        struct vop_seek_args /* {
                struct vnode *a_vp;
                off_t  a_oldoff;
        struct vop_seek_args /* {
                struct vnode *a_vp;
                off_t  a_oldoff;
@@ -342,9 +385,9 @@ struct isoreaddir {
        off_t curroff;
        struct uio *uio;
        off_t uio_off;
        off_t curroff;
        struct uio *uio;
        off_t uio_off;
-       u_int *cookiep;
+       int eofflag;
+       u_long *cookies;
        int ncookies;
        int ncookies;
-       int eof;
 };
 
 static int
 };
 
 static int
@@ -359,24 +402,24 @@ iso_uiodir(idp,dp,off)
        dp->d_reclen = DIRSIZ(dp);
        
        if (idp->uio->uio_resid < dp->d_reclen) {
        dp->d_reclen = DIRSIZ(dp);
        
        if (idp->uio->uio_resid < dp->d_reclen) {
-               idp->eof = 0;
-               return -1;
+               idp->eofflag = 0;
+               return (-1);
        }
        
        }
        
-       if (idp->cookiep) {
+       if (idp->cookies) {
                if (idp->ncookies <= 0) {
                if (idp->ncookies <= 0) {
-                       idp->eof = 0;
-                       return -1;
+                       idp->eofflag = 0;
+                       return (-1);
                }
                
                }
                
-               *idp->cookiep++ = off;
+               *idp->cookies++ = off;
                --idp->ncookies;
        }
        
        if (error = uiomove(dp,dp->d_reclen,idp->uio))
                --idp->ncookies;
        }
        
        if (error = uiomove(dp,dp->d_reclen,idp->uio))
-               return error;
+               return (error);
        idp->uio_off = off;
        idp->uio_off = off;
-       return 0;
+       return (0);
 }
 
 static int
 }
 
 static int
@@ -407,12 +450,12 @@ iso_shipdir(idp)
                    || bcmp(sname,cname,sl)) {
                        if (idp->assocent.d_namlen) {
                                if (error = iso_uiodir(idp,&idp->assocent,idp->assocoff))
                    || bcmp(sname,cname,sl)) {
                        if (idp->assocent.d_namlen) {
                                if (error = iso_uiodir(idp,&idp->assocent,idp->assocoff))
-                                       return error;
+                                       return (error);
                                idp->assocent.d_namlen = 0;
                        }
                        if (idp->saveent.d_namlen) {
                                if (error = iso_uiodir(idp,&idp->saveent,idp->saveoff))
                                idp->assocent.d_namlen = 0;
                        }
                        if (idp->saveent.d_namlen) {
                                if (error = iso_uiodir(idp,&idp->saveent,idp->saveoff))
-                                       return error;
+                                       return (error);
                                idp->saveent.d_namlen = 0;
                        }
                }
                                idp->saveent.d_namlen = 0;
                        }
                }
@@ -425,20 +468,21 @@ iso_shipdir(idp)
                idp->saveoff = idp->curroff;
                bcopy(&idp->current,&idp->saveent,idp->current.d_reclen);
        }
                idp->saveoff = idp->curroff;
                bcopy(&idp->current,&idp->saveent,idp->current.d_reclen);
        }
-       return 0;
+       return (0);
 }
 
 /*
  * Vnode op for readdir
 }
 
 /*
  * Vnode op for readdir
- * XXX make sure everything still works now that eofflagp and cookiep
- * are no longer args.
  */
 int
  */
 int
-isofs_readdir(ap)
+cd9660_readdir(ap)
        struct vop_readdir_args /* {
                struct vnode *a_vp;
                struct uio *a_uio;
                struct ucred *a_cred;
        struct vop_readdir_args /* {
                struct vnode *a_vp;
                struct uio *a_uio;
                struct ucred *a_cred;
+               int *a_eofflag;
+               u_long *a_cookies;
+               int a_ncookies;
        } */ *ap;
 {
        register struct uio *uio = ap->a_uio;
        } */ *ap;
 {
        register struct uio *uio = ap->a_uio;
@@ -456,17 +500,18 @@ isofs_readdir(ap)
        ip = VTOI(ap->a_vp);
        imp = ip->i_mnt;
        
        ip = VTOI(ap->a_vp);
        imp = ip->i_mnt;
        
-       MALLOC(idp,struct isoreaddir *,sizeof(*idp),M_TEMP,M_WAITOK);
-       idp->saveent.d_namlen = 0;
-       idp->assocent.d_namlen = 0;
+       MALLOC(idp, struct isoreaddir *, sizeof(*idp), M_TEMP, M_WAITOK);
+       idp->saveent.d_namlen = idp->assocent.d_namlen = 0;
+       /*
+        * XXX
+        * Is it worth trying to figure out the type?
+        */
+       idp->saveent.d_type = idp->assocent.d_type = idp->current.d_type =
+           DT_UNKNOWN;
        idp->uio = uio;
        idp->uio = uio;
-#if 0
-       idp->cookiep = cookies;
-       idp->ncookies = ncookies;
-       idp->eof = 1;
-#else
-       idp->cookiep = 0;
-#endif
+       idp->eofflag = 1;
+       idp->cookies = ap->a_cookies;
+       idp->ncookies = ap->a_ncookies;
        idp->curroff = uio->uio_offset;
        
        entryoffsetinblock = iso_blkoff(imp, idp->curroff);
        idp->curroff = uio->uio_offset;
        
        entryoffsetinblock = iso_blkoff(imp, idp->curroff);
@@ -539,9 +584,9 @@ isofs_readdir(ap)
                 */
                switch (imp->iso_ftype) {
                case ISO_FTYPE_RRIP:
                 */
                switch (imp->iso_ftype) {
                case ISO_FTYPE_RRIP:
-                       isofs_rrip_getname(ep,idp->current.d_name,
-                                          (u_short *)&idp->current.d_namlen,
+                       cd9660_rrip_getname(ep,idp->current.d_name, &elen,
                                           &idp->current.d_fileno,imp);
                                           &idp->current.d_fileno,imp);
+                       idp->current.d_namlen = (u_char)elen;
                        if (idp->current.d_namlen)
                                error = iso_uiodir(idp,&idp->current,idp->curroff);
                        break;
                        if (idp->current.d_namlen)
                                error = iso_uiodir(idp,&idp->current,idp->curroff);
                        break;
@@ -586,9 +631,7 @@ isofs_readdir(ap)
                brelse (bp);
 
        uio->uio_offset = idp->uio_off;
                brelse (bp);
 
        uio->uio_offset = idp->uio_off;
-#if 0
-       *eofflagp = idp->eof;
-#endif
+       *ap->a_eofflag = idp->eofflag;
        
        FREE(idp,M_TEMP);
        
        
        FREE(idp,M_TEMP);
        
@@ -598,14 +641,14 @@ isofs_readdir(ap)
 /*
  * Return target name of a symbolic link
  * Shouldn't we get the parent vnode and read the data from there?
 /*
  * Return target name of a symbolic link
  * Shouldn't we get the parent vnode and read the data from there?
- * This could eventually result in deadlocks in isofs_lookup.
+ * This could eventually result in deadlocks in cd9660_lookup.
  * But otherwise the block read here is in the block buffer two times.
  */
 typedef struct iso_directory_record ISODIR;
 typedef struct iso_node             ISONODE;
 typedef struct iso_mnt              ISOMNT;
 int
  * But otherwise the block read here is in the block buffer two times.
  */
 typedef struct iso_directory_record ISODIR;
 typedef struct iso_node             ISONODE;
 typedef struct iso_mnt              ISOMNT;
 int
-isofs_readlink(ap)
+cd9660_readlink(ap)
        struct vop_readlink_args /* {
                struct vnode *a_vp;
                struct uio *a_uio;
        struct vop_readlink_args /* {
                struct vnode *a_vp;
                struct uio *a_uio;
@@ -625,37 +668,26 @@ isofs_readlink(ap)
        imp = ip->i_mnt;
        
        if (imp->iso_ftype != ISO_FTYPE_RRIP)
        imp = ip->i_mnt;
        
        if (imp->iso_ftype != ISO_FTYPE_RRIP)
-               return EINVAL;
+               return (EINVAL);
        
        /*
         * Get parents directory record block that this inode included.
         */
        error = bread(imp->im_devvp,
        
        /*
         * Get parents directory record block that this inode included.
         */
        error = bread(imp->im_devvp,
-                     (daddr_t)(ip->i_number / DEV_BSIZE),
+                     (daddr_t)((ip->i_number&~imp->im_bmask) / DEV_BSIZE),
                      imp->logical_block_size,
                      NOCRED,
                      &bp);
        if (error) {
                brelse(bp);
                      imp->logical_block_size,
                      NOCRED,
                      &bp);
        if (error) {
                brelse(bp);
-               return EINVAL;
+               return (EINVAL);
        }
 
        /*
         * Setup the directory pointer for this inode
         */
        dirp = (ISODIR *)(bp->b_un.b_addr + (ip->i_number & imp->im_bmask));
        }
 
        /*
         * Setup the directory pointer for this inode
         */
        dirp = (ISODIR *)(bp->b_un.b_addr + (ip->i_number & imp->im_bmask));
-#ifdef DEBUG
-       printf("lbn=%d,off=%d,bsize=%d,DEV_BSIZE=%d, dirp= %08x, b_addr=%08x, offset=%08x(%08x)\n",
-              (daddr_t)(ip->i_number >> imp->im_bshift),
-              ip->i_number & imp->im_bmask,
-              imp->logical_block_size,
-              DEV_BSIZE,
-              dirp,
-              bp->b_un.b_addr,
-              ip->i_number,
-              ip->i_number & imp->im_bmask );
-#endif
-       
+
        /*
         * Just make sure, we have a right one....
         *   1: Check not cross boundary on block
        /*
         * Just make sure, we have a right one....
         *   1: Check not cross boundary on block
@@ -663,7 +695,7 @@ isofs_readlink(ap)
        if ((ip->i_number & imp->im_bmask) + isonum_711(dirp->length)
            > imp->logical_block_size) {
                brelse(bp);
        if ((ip->i_number & imp->im_bmask) + isonum_711(dirp->length)
            > imp->logical_block_size) {
                brelse(bp);
-               return EINVAL;
+               return (EINVAL);
        }
        
        /*
        }
        
        /*
@@ -675,10 +707,10 @@ isofs_readlink(ap)
        /*
         * Ok, we just gathering a symbolic name in SL record.
         */
        /*
         * Ok, we just gathering a symbolic name in SL record.
         */
-       if (isofs_rrip_getsymname(dirp,symname,&symlen,imp) == 0) {
+       if (cd9660_rrip_getsymname(dirp,symname,&symlen,imp) == 0) {
                FREE(symname,M_NAMEI);
                brelse(bp);
                FREE(symname,M_NAMEI);
                brelse(bp);
-               return EINVAL;
+               return (EINVAL);
        }
        /*
         * Don't forget before you leave from home ;-)
        }
        /*
         * Don't forget before you leave from home ;-)
@@ -692,7 +724,7 @@ isofs_readlink(ap)
        
        FREE(symname,M_NAMEI);
        
        
        FREE(symname,M_NAMEI);
        
-       return error;
+       return (error);
 }
 
 /*
 }
 
 /*
@@ -700,7 +732,7 @@ isofs_readlink(ap)
  * done. If a buffer has been saved in anticipation of a CREATE, delete it.
  */
 int
  * done. If a buffer has been saved in anticipation of a CREATE, delete it.
  */
 int
-isofs_abortop(ap)
+cd9660_abortop(ap)
        struct vop_abortop_args /* {
                struct vnode *a_dvp;
                struct componentname *a_cnp;
        struct vop_abortop_args /* {
                struct vnode *a_dvp;
                struct componentname *a_cnp;
@@ -708,54 +740,101 @@ isofs_abortop(ap)
 {
        if ((ap->a_cnp->cn_flags & (HASBUF | SAVESTART)) == HASBUF)
                FREE(ap->a_cnp->cn_pnbuf, M_NAMEI);
 {
        if ((ap->a_cnp->cn_flags & (HASBUF | SAVESTART)) == HASBUF)
                FREE(ap->a_cnp->cn_pnbuf, M_NAMEI);
-       return 0;
+       return (0);
 }
 
 /*
  * Lock an inode.
  */
 int
 }
 
 /*
  * Lock an inode.
  */
 int
-isofs_lock(ap)
+cd9660_lock(ap)
        struct vop_lock_args /* {
                struct vnode *a_vp;
        } */ *ap;
 {
        struct vop_lock_args /* {
                struct vnode *a_vp;
        } */ *ap;
 {
-       register struct iso_node *ip = VTOI(ap->a_vp);
+       register struct vnode *vp = ap->a_vp;
+       register struct iso_node *ip;
+       struct proc *p = curproc;       /* XXX */
 
 
-       ISO_ILOCK(ip);
-       return 0;
+start:
+       while (vp->v_flag & VXLOCK) {
+               vp->v_flag |= VXWANT;
+               sleep((caddr_t)vp, PINOD);
+       }
+       if (vp->v_tag == VT_NON)
+               return (ENOENT);
+       ip = VTOI(vp);
+       if (ip->i_flag & IN_LOCKED) {
+               ip->i_flag |= IN_WANTED;
+#ifdef DIAGNOSTIC
+               if (p) {
+                       if (p->p_pid == ip->i_lockholder)
+                               panic("locking against myself");
+                       ip->i_lockwaiter = p->p_pid;
+               } else
+                       ip->i_lockwaiter = -1;
+#endif
+               (void) sleep((caddr_t)ip, PINOD);
+       }
+#ifdef DIAGNOSTIC
+       ip->i_lockwaiter = 0;
+       if (ip->i_lockholder != 0)
+               panic("lockholder (%d) != 0", ip->i_lockholder);
+       if (p && p->p_pid == 0)
+               printf("locking by process 0\n");
+       if (p)
+               ip->i_lockholder = p->p_pid;
+       else
+               ip->i_lockholder = -1;
+#endif
+       ip->i_flag |= IN_LOCKED;
+       return (0);
 }
 
 /*
  * Unlock an inode.
  */
 int
 }
 
 /*
  * Unlock an inode.
  */
 int
-isofs_unlock(ap)
+cd9660_unlock(ap)
        struct vop_unlock_args /* {
                struct vnode *a_vp;
        } */ *ap;
 {
        register struct iso_node *ip = VTOI(ap->a_vp);
        struct vop_unlock_args /* {
                struct vnode *a_vp;
        } */ *ap;
 {
        register struct iso_node *ip = VTOI(ap->a_vp);
+       struct proc *p = curproc;       /* XXX */
 
 
-       if (!(ip->i_flag & ILOCKED))
-               panic("isofs_unlock NOT LOCKED");
-       ISO_IUNLOCK(ip);
-       return 0;
+#ifdef DIAGNOSTIC
+       if ((ip->i_flag & IN_LOCKED) == 0) {
+               vprint("ufs_unlock: unlocked inode", ap->a_vp);
+               panic("ufs_unlock NOT LOCKED");
+       }
+       if (p && p->p_pid != ip->i_lockholder && p->p_pid > -1 &&
+           ip->i_lockholder > -1/* && lockcount++ < 100*/)
+               panic("unlocker (%d) != lock holder (%d)",
+                   p->p_pid, ip->i_lockholder);
+       ip->i_lockholder = 0;
+#endif
+       ip->i_flag &= ~IN_LOCKED;
+       if (ip->i_flag & IN_WANTED) {
+               ip->i_flag &= ~IN_WANTED;
+               wakeup((caddr_t)ip);
+       }
+       return (0);
 }
 
 /*
  * Check for a locked inode.
  */
 int
 }
 
 /*
  * Check for a locked inode.
  */
 int
-isofs_islocked(ap)
+cd9660_islocked(ap)
        struct vop_islocked_args /* {
                struct vnode *a_vp;
        } */ *ap;
 {
 
        struct vop_islocked_args /* {
                struct vnode *a_vp;
        } */ *ap;
 {
 
-       if (VTOI(ap->a_vp)->i_flag & ILOCKED)
-               return 1;
-       return 0;
+       if (VTOI(ap->a_vp)->i_flag & IN_LOCKED)
+               return (1);
+       return (0);
 }
 
 /*
 }
 
 /*
@@ -763,7 +842,7 @@ isofs_islocked(ap)
  * then call the device strategy routine.
  */
 int
  * then call the device strategy routine.
  */
 int
-isofs_strategy(ap)
+cd9660_strategy(ap)
        struct vop_strategy_args /* {
                struct buf *a_bp;
        } */ *ap;
        struct vop_strategy_args /* {
                struct buf *a_bp;
        } */ *ap;
@@ -775,7 +854,7 @@ isofs_strategy(ap)
 
        ip = VTOI(vp);
        if (vp->v_type == VBLK || vp->v_type == VCHR)
 
        ip = VTOI(vp);
        if (vp->v_type == VBLK || vp->v_type == VCHR)
-               panic("isofs_strategy: spec");
+               panic("cd9660_strategy: spec");
        if (bp->b_blkno == bp->b_lblkno) {
                if (error =
                    VOP_BMAP(vp, bp->b_lblkno, NULL, &bp->b_blkno, NULL)) {
        if (bp->b_blkno == bp->b_lblkno) {
                if (error =
                    VOP_BMAP(vp, bp->b_lblkno, NULL, &bp->b_blkno, NULL)) {
@@ -801,20 +880,20 @@ isofs_strategy(ap)
  * Print out the contents of an inode.
  */
 int
  * Print out the contents of an inode.
  */
 int
-isofs_print(ap)
+cd9660_print(ap)
        struct vop_print_args /* {
                struct vnode *a_vp;
        } */ *ap;
 {
        printf("tag VT_ISOFS, isofs vnode\n");
        struct vop_print_args /* {
                struct vnode *a_vp;
        } */ *ap;
 {
        printf("tag VT_ISOFS, isofs vnode\n");
-       return 0;
+       return (0);
 }
 
 /*
  * Unsupported operation
  */
 int
 }
 
 /*
  * Unsupported operation
  */
 int
-isofs_enotsupp()
+cd9660_enotsupp()
 {
 
        return (EOPNOTSUPP);
 {
 
        return (EOPNOTSUPP);
@@ -823,101 +902,106 @@ isofs_enotsupp()
 /*
  * Global vfs data structures for isofs
  */
 /*
  * Global vfs data structures for isofs
  */
-#define isofs_create ((int (*) __P((struct  vop_create_args *)))isofs_enotsupp)
-#define isofs_mknod ((int (*) __P((struct  vop_mknod_args *)))isofs_enotsupp)
-#define isofs_setattr \
-       ((int (*) __P((struct  vop_setattr_args *)))isofs_enotsupp)
-#define isofs_write ((int (*) __P((struct  vop_write_args *)))isofs_enotsupp)
-#define isofs_fsync ((int (*) __P((struct  vop_fsync_args *)))nullop)
-#define isofs_remove ((int (*) __P((struct  vop_remove_args *)))isofs_enotsupp)
-#define isofs_link ((int (*) __P((struct  vop_link_args *)))isofs_enotsupp)
-#define isofs_rename ((int (*) __P((struct  vop_rename_args *)))isofs_enotsupp)
-#define isofs_mkdir ((int (*) __P((struct  vop_mkdir_args *)))isofs_enotsupp)
-#define isofs_rmdir ((int (*) __P((struct  vop_rmdir_args *)))isofs_enotsupp)
-#define isofs_symlink \
-       ((int (*) __P((struct vop_symlink_args *)))isofs_enotsupp)
-#define isofs_pathconf \
-       ((int (*) __P((struct vop_pathconf_args *)))isofs_enotsupp)
-#define isofs_advlock \
-       ((int (*) __P((struct vop_advlock_args *)))isofs_enotsupp)
-#define isofs_blkatoff \
-       ((int (*) __P((struct  vop_blkatoff_args *)))isofs_enotsupp)
-#define isofs_valloc ((int(*) __P(( \
+#define cd9660_create \
+       ((int (*) __P((struct  vop_create_args *)))cd9660_enotsupp)
+#define cd9660_mknod ((int (*) __P((struct  vop_mknod_args *)))cd9660_enotsupp)
+#define cd9660_setattr \
+       ((int (*) __P((struct  vop_setattr_args *)))cd9660_enotsupp)
+#define cd9660_write ((int (*) __P((struct  vop_write_args *)))cd9660_enotsupp)
+#define cd9660_fsync ((int (*) __P((struct  vop_fsync_args *)))nullop)
+#define cd9660_remove \
+       ((int (*) __P((struct  vop_remove_args *)))cd9660_enotsupp)
+#define cd9660_link ((int (*) __P((struct  vop_link_args *)))cd9660_enotsupp)
+#define cd9660_rename \
+       ((int (*) __P((struct  vop_rename_args *)))cd9660_enotsupp)
+#define cd9660_mkdir ((int (*) __P((struct  vop_mkdir_args *)))cd9660_enotsupp)
+#define cd9660_rmdir ((int (*) __P((struct  vop_rmdir_args *)))cd9660_enotsupp)
+#define cd9660_symlink \
+       ((int (*) __P((struct vop_symlink_args *)))cd9660_enotsupp)
+#define cd9660_pathconf \
+       ((int (*) __P((struct vop_pathconf_args *)))cd9660_enotsupp)
+#define cd9660_advlock \
+       ((int (*) __P((struct vop_advlock_args *)))cd9660_enotsupp)
+#define cd9660_blkatoff \
+       ((int (*) __P((struct  vop_blkatoff_args *)))cd9660_enotsupp)
+#define cd9660_valloc ((int(*) __P(( \
                struct vnode *pvp, \
                int mode, \
                struct ucred *cred, \
                struct vnode *pvp, \
                int mode, \
                struct ucred *cred, \
-               struct vnode **vpp))) isofs_enotsupp)
-#define isofs_vfree ((int (*) __P((struct  vop_vfree_args *)))isofs_enotsupp)
-#define isofs_truncate \
-       ((int (*) __P((struct  vop_truncate_args *)))isofs_enotsupp)
-#define isofs_update ((int (*) __P((struct  vop_update_args *)))isofs_enotsupp)
-#define isofs_bwrite ((int (*) __P((struct  vop_bwrite_args *)))isofs_enotsupp)
+               struct vnode **vpp))) cd9660_enotsupp)
+#define cd9660_vfree ((int (*) __P((struct  vop_vfree_args *)))cd9660_enotsupp)
+#define cd9660_truncate \
+       ((int (*) __P((struct  vop_truncate_args *)))cd9660_enotsupp)
+#define cd9660_update \
+       ((int (*) __P((struct  vop_update_args *)))cd9660_enotsupp)
+#define cd9660_bwrite \
+       ((int (*) __P((struct  vop_bwrite_args *)))cd9660_enotsupp)
 
 /*
  * Global vfs data structures for nfs
  */
 
 /*
  * Global vfs data structures for nfs
  */
-int (**isofs_vnodeop_p)();
-struct vnodeopv_entry_desc isofs_vnodeop_entries[] = {
+int (**cd9660_vnodeop_p)();
+struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
        { &vop_default_desc, vn_default_error },
        { &vop_default_desc, vn_default_error },
-       { &vop_lookup_desc, isofs_lookup },     /* lookup */
-       { &vop_create_desc, isofs_create },     /* create */
-       { &vop_mknod_desc, isofs_mknod },       /* mknod */
-       { &vop_open_desc, isofs_open },         /* open */
-       { &vop_close_desc, isofs_close },       /* close */
-       { &vop_access_desc, isofs_access },     /* access */
-       { &vop_getattr_desc, isofs_getattr },   /* getattr */
-       { &vop_setattr_desc, isofs_setattr },   /* setattr */
-       { &vop_read_desc, isofs_read },         /* read */
-       { &vop_write_desc, isofs_write },       /* write */
-       { &vop_ioctl_desc, isofs_ioctl },       /* ioctl */
-       { &vop_select_desc, isofs_select },     /* select */
-       { &vop_mmap_desc, isofs_mmap },         /* mmap */
-       { &vop_fsync_desc, isofs_fsync },       /* fsync */
-       { &vop_seek_desc, isofs_seek },         /* seek */
-       { &vop_remove_desc, isofs_remove },     /* remove */
-       { &vop_link_desc, isofs_link },         /* link */
-       { &vop_rename_desc, isofs_rename },     /* rename */
-       { &vop_mkdir_desc, isofs_mkdir },       /* mkdir */
-       { &vop_rmdir_desc, isofs_rmdir },       /* rmdir */
-       { &vop_symlink_desc, isofs_symlink },   /* symlink */
-       { &vop_readdir_desc, isofs_readdir },   /* readdir */
-       { &vop_readlink_desc, isofs_readlink }, /* readlink */
-       { &vop_abortop_desc, isofs_abortop },   /* abortop */
-       { &vop_inactive_desc, isofs_inactive }, /* inactive */
-       { &vop_reclaim_desc, isofs_reclaim },   /* reclaim */
-       { &vop_lock_desc, isofs_lock },         /* lock */
-       { &vop_unlock_desc, isofs_unlock },     /* unlock */
-       { &vop_bmap_desc, isofs_bmap },         /* bmap */
-       { &vop_strategy_desc, isofs_strategy }, /* strategy */
-       { &vop_print_desc, isofs_print },       /* print */
-       { &vop_islocked_desc, isofs_islocked }, /* islocked */
-       { &vop_pathconf_desc, isofs_pathconf }, /* pathconf */
-       { &vop_advlock_desc, isofs_advlock },   /* advlock */
-       { &vop_blkatoff_desc, isofs_blkatoff }, /* blkatoff */
-       { &vop_valloc_desc, isofs_valloc },     /* valloc */
-       { &vop_vfree_desc, isofs_vfree },       /* vfree */
-       { &vop_truncate_desc, isofs_truncate }, /* truncate */
-       { &vop_update_desc, isofs_update },     /* update */
+       { &vop_lookup_desc, cd9660_lookup },    /* lookup */
+       { &vop_create_desc, cd9660_create },    /* create */
+       { &vop_mknod_desc, cd9660_mknod },      /* mknod */
+       { &vop_open_desc, cd9660_open },        /* open */
+       { &vop_close_desc, cd9660_close },      /* close */
+       { &vop_access_desc, cd9660_access },    /* access */
+       { &vop_getattr_desc, cd9660_getattr },  /* getattr */
+       { &vop_setattr_desc, cd9660_setattr },  /* setattr */
+       { &vop_read_desc, cd9660_read },        /* read */
+       { &vop_write_desc, cd9660_write },      /* write */
+       { &vop_ioctl_desc, cd9660_ioctl },      /* ioctl */
+       { &vop_select_desc, cd9660_select },    /* select */
+       { &vop_mmap_desc, cd9660_mmap },        /* mmap */
+       { &vop_fsync_desc, cd9660_fsync },      /* fsync */
+       { &vop_seek_desc, cd9660_seek },        /* seek */
+       { &vop_remove_desc, cd9660_remove },    /* remove */
+       { &vop_link_desc, cd9660_link },        /* link */
+       { &vop_rename_desc, cd9660_rename },    /* rename */
+       { &vop_mkdir_desc, cd9660_mkdir },      /* mkdir */
+       { &vop_rmdir_desc, cd9660_rmdir },      /* rmdir */
+       { &vop_symlink_desc, cd9660_symlink },  /* symlink */
+       { &vop_readdir_desc, cd9660_readdir },  /* readdir */
+       { &vop_readlink_desc, cd9660_readlink },/* readlink */
+       { &vop_abortop_desc, cd9660_abortop },  /* abortop */
+       { &vop_inactive_desc, cd9660_inactive },/* inactive */
+       { &vop_reclaim_desc, cd9660_reclaim },  /* reclaim */
+       { &vop_lock_desc, cd9660_lock },        /* lock */
+       { &vop_unlock_desc, cd9660_unlock },    /* unlock */
+       { &vop_bmap_desc, cd9660_bmap },        /* bmap */
+       { &vop_strategy_desc, cd9660_strategy },/* strategy */
+       { &vop_print_desc, cd9660_print },      /* print */
+       { &vop_islocked_desc, cd9660_islocked },/* islocked */
+       { &vop_pathconf_desc, cd9660_pathconf },/* pathconf */
+       { &vop_advlock_desc, cd9660_advlock },  /* advlock */
+       { &vop_blkatoff_desc, cd9660_blkatoff },/* blkatoff */
+       { &vop_valloc_desc, cd9660_valloc },    /* valloc */
+       { &vop_vfree_desc, cd9660_vfree },      /* vfree */
+       { &vop_truncate_desc, cd9660_truncate },/* truncate */
+       { &vop_update_desc, cd9660_update },    /* update */
        { &vop_bwrite_desc, vn_bwrite },
        { (struct vnodeop_desc*)NULL, (int(*)())NULL }
 };
        { &vop_bwrite_desc, vn_bwrite },
        { (struct vnodeop_desc*)NULL, (int(*)())NULL }
 };
-struct vnodeopv_desc isofs_vnodeop_opv_desc =
-       { &isofs_vnodeop_p, isofs_vnodeop_entries };
+struct vnodeopv_desc cd9660_vnodeop_opv_desc =
+       { &cd9660_vnodeop_p, cd9660_vnodeop_entries };
 
 /*
  * Special device vnode ops
  */
 
 /*
  * Special device vnode ops
  */
-int (**isofs_specop_p)();
-struct vnodeopv_entry_desc isofs_specop_entries[] = {
+int (**cd9660_specop_p)();
+struct vnodeopv_entry_desc cd9660_specop_entries[] = {
        { &vop_default_desc, vn_default_error },
        { &vop_lookup_desc, spec_lookup },      /* lookup */
        { &vop_default_desc, vn_default_error },
        { &vop_lookup_desc, spec_lookup },      /* lookup */
-       { &vop_create_desc, isofs_create },     /* create */
-       { &vop_mknod_desc, isofs_mknod },       /* mknod */
+       { &vop_create_desc, cd9660_create },    /* create */
+       { &vop_mknod_desc, cd9660_mknod },      /* mknod */
        { &vop_open_desc, spec_open },          /* open */
        { &vop_close_desc, spec_close },        /* close */
        { &vop_open_desc, spec_open },          /* open */
        { &vop_close_desc, spec_close },        /* close */
-       { &vop_access_desc, isofs_access },     /* access */
-       { &vop_getattr_desc, isofs_getattr },   /* getattr */
-       { &vop_setattr_desc, isofs_setattr },   /* setattr */
+       { &vop_access_desc, cd9660_access },    /* access */
+       { &vop_getattr_desc, cd9660_getattr },  /* getattr */
+       { &vop_setattr_desc, cd9660_setattr },  /* setattr */
        { &vop_read_desc, spec_read },          /* read */
        { &vop_write_desc, spec_write },        /* write */
        { &vop_ioctl_desc, spec_ioctl },        /* ioctl */
        { &vop_read_desc, spec_read },          /* read */
        { &vop_write_desc, spec_write },        /* write */
        { &vop_ioctl_desc, spec_ioctl },        /* ioctl */
@@ -925,49 +1009,49 @@ struct vnodeopv_entry_desc isofs_specop_entries[] = {
        { &vop_mmap_desc, spec_mmap },          /* mmap */
        { &vop_fsync_desc, spec_fsync },        /* fsync */
        { &vop_seek_desc, spec_seek },          /* seek */
        { &vop_mmap_desc, spec_mmap },          /* mmap */
        { &vop_fsync_desc, spec_fsync },        /* fsync */
        { &vop_seek_desc, spec_seek },          /* seek */
-       { &vop_remove_desc, isofs_remove },     /* remove */
-       { &vop_link_desc, isofs_link },         /* link */
-       { &vop_rename_desc, isofs_rename },     /* rename */
-       { &vop_mkdir_desc, isofs_mkdir },       /* mkdir */
-       { &vop_rmdir_desc, isofs_rmdir },       /* rmdir */
-       { &vop_symlink_desc, isofs_symlink },   /* symlink */
+       { &vop_remove_desc, cd9660_remove },    /* remove */
+       { &vop_link_desc, cd9660_link },        /* link */
+       { &vop_rename_desc, cd9660_rename },    /* rename */
+       { &vop_mkdir_desc, cd9660_mkdir },      /* mkdir */
+       { &vop_rmdir_desc, cd9660_rmdir },      /* rmdir */
+       { &vop_symlink_desc, cd9660_symlink },  /* symlink */
        { &vop_readdir_desc, spec_readdir },    /* readdir */
        { &vop_readlink_desc, spec_readlink },  /* readlink */
        { &vop_abortop_desc, spec_abortop },    /* abortop */
        { &vop_readdir_desc, spec_readdir },    /* readdir */
        { &vop_readlink_desc, spec_readlink },  /* readlink */
        { &vop_abortop_desc, spec_abortop },    /* abortop */
-       { &vop_inactive_desc, isofs_inactive }, /* inactive */
-       { &vop_reclaim_desc, isofs_reclaim },   /* reclaim */
-       { &vop_lock_desc, isofs_lock },         /* lock */
-       { &vop_unlock_desc, isofs_unlock },     /* unlock */
+       { &vop_inactive_desc, cd9660_inactive },/* inactive */
+       { &vop_reclaim_desc, cd9660_reclaim },  /* reclaim */
+       { &vop_lock_desc, cd9660_lock },        /* lock */
+       { &vop_unlock_desc, cd9660_unlock },    /* unlock */
        { &vop_bmap_desc, spec_bmap },          /* bmap */
                /* XXX strategy: panics, should be notsupp instead? */
        { &vop_bmap_desc, spec_bmap },          /* bmap */
                /* XXX strategy: panics, should be notsupp instead? */
-       { &vop_strategy_desc, isofs_strategy }, /* strategy */
-       { &vop_print_desc, isofs_print },       /* print */
-       { &vop_islocked_desc, isofs_islocked }, /* islocked */
+       { &vop_strategy_desc, cd9660_strategy },/* strategy */
+       { &vop_print_desc, cd9660_print },      /* print */
+       { &vop_islocked_desc, cd9660_islocked },/* islocked */
        { &vop_pathconf_desc, spec_pathconf },  /* pathconf */
        { &vop_advlock_desc, spec_advlock },    /* advlock */
        { &vop_blkatoff_desc, spec_blkatoff },  /* blkatoff */
        { &vop_valloc_desc, spec_valloc },      /* valloc */
        { &vop_vfree_desc, spec_vfree },        /* vfree */
        { &vop_truncate_desc, spec_truncate },  /* truncate */
        { &vop_pathconf_desc, spec_pathconf },  /* pathconf */
        { &vop_advlock_desc, spec_advlock },    /* advlock */
        { &vop_blkatoff_desc, spec_blkatoff },  /* blkatoff */
        { &vop_valloc_desc, spec_valloc },      /* valloc */
        { &vop_vfree_desc, spec_vfree },        /* vfree */
        { &vop_truncate_desc, spec_truncate },  /* truncate */
-       { &vop_update_desc, isofs_update },     /* update */
+       { &vop_update_desc, cd9660_update },    /* update */
        { &vop_bwrite_desc, vn_bwrite },
        { (struct vnodeop_desc*)NULL, (int(*)())NULL }
 };
        { &vop_bwrite_desc, vn_bwrite },
        { (struct vnodeop_desc*)NULL, (int(*)())NULL }
 };
-struct vnodeopv_desc isofs_specop_opv_desc =
-       { &isofs_specop_p, isofs_specop_entries };
+struct vnodeopv_desc cd9660_specop_opv_desc =
+       { &cd9660_specop_p, cd9660_specop_entries };
 
 #ifdef FIFO
 
 #ifdef FIFO
-int (**isofs_fifoop_p)();
-struct vnodeopv_entry_desc isofs_fifoop_entries[] = {
+int (**cd9660_fifoop_p)();
+struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
        { &vop_default_desc, vn_default_error },
        { &vop_lookup_desc, fifo_lookup },      /* lookup */
        { &vop_default_desc, vn_default_error },
        { &vop_lookup_desc, fifo_lookup },      /* lookup */
-       { &vop_create_desc, isofs_create },     /* create */
-       { &vop_mknod_desc, isofs_mknod },       /* mknod */
+       { &vop_create_desc, cd9660_create },    /* create */
+       { &vop_mknod_desc, cd9660_mknod },      /* mknod */
        { &vop_open_desc, fifo_open },          /* open */
        { &vop_close_desc, fifo_close },        /* close */
        { &vop_open_desc, fifo_open },          /* open */
        { &vop_close_desc, fifo_close },        /* close */
-       { &vop_access_desc, isofs_access },     /* access */
-       { &vop_getattr_desc, isofs_getattr },   /* getattr */
-       { &vop_setattr_desc, isofs_setattr },   /* setattr */
+       { &vop_access_desc, cd9660_access },    /* access */
+       { &vop_getattr_desc, cd9660_getattr },  /* getattr */
+       { &vop_setattr_desc, cd9660_setattr },  /* setattr */
        { &vop_read_desc, fifo_read },          /* read */
        { &vop_write_desc, fifo_write },        /* write */
        { &vop_ioctl_desc, fifo_ioctl },        /* ioctl */
        { &vop_read_desc, fifo_read },          /* read */
        { &vop_write_desc, fifo_write },        /* write */
        { &vop_ioctl_desc, fifo_ioctl },        /* ioctl */
@@ -975,33 +1059,33 @@ struct vnodeopv_entry_desc isofs_fifoop_entries[] = {
        { &vop_mmap_desc, fifo_mmap },          /* mmap */
        { &vop_fsync_desc, fifo_fsync },        /* fsync */
        { &vop_seek_desc, fifo_seek },          /* seek */
        { &vop_mmap_desc, fifo_mmap },          /* mmap */
        { &vop_fsync_desc, fifo_fsync },        /* fsync */
        { &vop_seek_desc, fifo_seek },          /* seek */
-       { &vop_remove_desc, isofs_remove },     /* remove */
-       { &vop_link_desc, isofs_link },         /* link */
-       { &vop_rename_desc, isofs_rename },     /* rename */
-       { &vop_mkdir_desc, isofs_mkdir },       /* mkdir */
-       { &vop_rmdir_desc, isofs_rmdir },       /* rmdir */
-       { &vop_symlink_desc, isofs_symlink },   /* symlink */
+       { &vop_remove_desc, cd9660_remove },    /* remove */
+       { &vop_link_desc, cd9660_link },        /* link */
+       { &vop_rename_desc, cd9660_rename },    /* rename */
+       { &vop_mkdir_desc, cd9660_mkdir },      /* mkdir */
+       { &vop_rmdir_desc, cd9660_rmdir },      /* rmdir */
+       { &vop_symlink_desc, cd9660_symlink },  /* symlink */
        { &vop_readdir_desc, fifo_readdir },    /* readdir */
        { &vop_readlink_desc, fifo_readlink },  /* readlink */
        { &vop_abortop_desc, fifo_abortop },    /* abortop */
        { &vop_readdir_desc, fifo_readdir },    /* readdir */
        { &vop_readlink_desc, fifo_readlink },  /* readlink */
        { &vop_abortop_desc, fifo_abortop },    /* abortop */
-       { &vop_inactive_desc, isofs_inactive }, /* inactive */
-       { &vop_reclaim_desc, isofs_reclaim },   /* reclaim */
-       { &vop_lock_desc, isofs_lock },         /* lock */
-       { &vop_unlock_desc, isofs_unlock },     /* unlock */
+       { &vop_inactive_desc, cd9660_inactive },/* inactive */
+       { &vop_reclaim_desc, cd9660_reclaim },  /* reclaim */
+       { &vop_lock_desc, cd9660_lock },        /* lock */
+       { &vop_unlock_desc, cd9660_unlock },    /* unlock */
        { &vop_bmap_desc, fifo_bmap },          /* bmap */
        { &vop_strategy_desc, fifo_badop },     /* strategy */
        { &vop_bmap_desc, fifo_bmap },          /* bmap */
        { &vop_strategy_desc, fifo_badop },     /* strategy */
-       { &vop_print_desc, isofs_print },       /* print */
-       { &vop_islocked_desc, isofs_islocked }, /* islocked */
+       { &vop_print_desc, cd9660_print },      /* print */
+       { &vop_islocked_desc, cd9660_islocked },/* islocked */
        { &vop_pathconf_desc, fifo_pathconf },  /* pathconf */
        { &vop_advlock_desc, fifo_advlock },    /* advlock */
        { &vop_blkatoff_desc, fifo_blkatoff },  /* blkatoff */
        { &vop_valloc_desc, fifo_valloc },      /* valloc */
        { &vop_vfree_desc, fifo_vfree },        /* vfree */
        { &vop_truncate_desc, fifo_truncate },  /* truncate */
        { &vop_pathconf_desc, fifo_pathconf },  /* pathconf */
        { &vop_advlock_desc, fifo_advlock },    /* advlock */
        { &vop_blkatoff_desc, fifo_blkatoff },  /* blkatoff */
        { &vop_valloc_desc, fifo_valloc },      /* valloc */
        { &vop_vfree_desc, fifo_vfree },        /* vfree */
        { &vop_truncate_desc, fifo_truncate },  /* truncate */
-       { &vop_update_desc, isofs_update },     /* update */
+       { &vop_update_desc, cd9660_update },    /* update */
        { &vop_bwrite_desc, vn_bwrite },
        { (struct vnodeop_desc*)NULL, (int(*)())NULL }
 };
        { &vop_bwrite_desc, vn_bwrite },
        { (struct vnodeop_desc*)NULL, (int(*)())NULL }
 };
-struct vnodeopv_desc isofs_fifoop_opv_desc =
-       { &isofs_fifoop_p, isofs_fifoop_entries };
+struct vnodeopv_desc cd9660_fifoop_opv_desc =
+       { &cd9660_fifoop_p, cd9660_fifoop_entries };
 #endif /* FIFO */
 #endif /* FIFO */