Deleted Added
full compact
cd9660_vnops.c (29888) cd9660_vnops.c (30431)
1/*-
2 * Copyright (c) 1994
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley
6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension
7 * Support code is derived from software contributed to Berkeley
8 * by Atsushi Murai (amurai@spec.co.jp).

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
1/*-
2 * Copyright (c) 1994
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley
6 * by Pace Willisson (pace@blitz.com). The Rock Ridge Extension
7 * Support code is derived from software contributed to Berkeley
8 * by Atsushi Murai (amurai@spec.co.jp).

--- 22 unchanged lines hidden (view full) ---

31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36 * SUCH DAMAGE.
37 *
38 * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95
39 * $Id: cd9660_vnops.c,v 1.39 1997/09/21 04:22:40 dyson Exp $
39 * $Id: cd9660_vnops.c,v 1.40 1997/09/27 13:38:51 kato Exp $
40 */
41
42#include <sys/param.h>
43#include <sys/systm.h>
44#include <sys/namei.h>
45#include <sys/kernel.h>
46#include <sys/stat.h>
47#include <sys/sysctl.h>

--- 942 unchanged lines hidden (view full) ---

990#define cd9660_bwrite \
991 ((int (*) __P((struct vop_bwrite_args *)))eopnotsupp)
992
993/*
994 * Global vfs data structures for cd9660
995 */
996vop_t **cd9660_vnodeop_p;
997struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
40 */
41
42#include <sys/param.h>
43#include <sys/systm.h>
44#include <sys/namei.h>
45#include <sys/kernel.h>
46#include <sys/stat.h>
47#include <sys/sysctl.h>

--- 942 unchanged lines hidden (view full) ---

990#define cd9660_bwrite \
991 ((int (*) __P((struct vop_bwrite_args *)))eopnotsupp)
992
993/*
994 * Global vfs data structures for cd9660
995 */
996vop_t **cd9660_vnodeop_p;
997struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
998
999 { &vop_default_desc, (vop_t *)vn_default_error },
1000 { &vop_lookup_desc, (vop_t *)vfs_cache_lookup }, /* lookup */
1001 { &vop_cachedlookup_desc, (vop_t *)cd9660_lookup }, /* lookup */
1002 { &vop_create_desc, (vop_t *)cd9660_create }, /* create */
1003/* XXX: vop_whiteout */
1004 { &vop_mknod_desc, (vop_t *)cd9660_mknod }, /* mknod */
1005 { &vop_open_desc, (vop_t *)cd9660_open }, /* open */
1006 { &vop_close_desc, (vop_t *)cd9660_close }, /* close */
1007 { &vop_access_desc, (vop_t *)cd9660_access }, /* access */
1008 { &vop_getattr_desc, (vop_t *)cd9660_getattr }, /* getattr */
1009 { &vop_setattr_desc, (vop_t *)cd9660_setattr }, /* setattr */
1010 { &vop_read_desc, (vop_t *)cd9660_read }, /* read */
1011 { &vop_write_desc, (vop_t *)cd9660_write }, /* write */
1012 { &vop_lease_desc, (vop_t *)cd9660_lease_check },/* lease */
1013 { &vop_ioctl_desc, (vop_t *)cd9660_ioctl }, /* ioctl */
1014 { &vop_poll_desc, (vop_t *)cd9660_poll }, /* poll */
1015 { &vop_revoke_desc, (vop_t *)cd9660_revoke }, /* revoke */
1016 { &vop_mmap_desc, (vop_t *)cd9660_mmap }, /* mmap */
1017 { &vop_fsync_desc, (vop_t *)cd9660_fsync }, /* fsync */
1018 { &vop_seek_desc, (vop_t *)cd9660_seek }, /* seek */
1019 { &vop_remove_desc, (vop_t *)cd9660_remove }, /* remove */
1020 { &vop_link_desc, (vop_t *)cd9660_link }, /* link */
1021 { &vop_rename_desc, (vop_t *)cd9660_rename }, /* rename */
1022 { &vop_mkdir_desc, (vop_t *)cd9660_mkdir }, /* mkdir */
1023 { &vop_rmdir_desc, (vop_t *)cd9660_rmdir }, /* rmdir */
1024 { &vop_symlink_desc, (vop_t *)cd9660_symlink }, /* symlink */
1025 { &vop_readdir_desc, (vop_t *)cd9660_readdir }, /* readdir */
1026 { &vop_readlink_desc, (vop_t *)cd9660_readlink },/* readlink */
1027 { &vop_abortop_desc, (vop_t *)cd9660_abortop }, /* abortop */
1028 { &vop_inactive_desc, (vop_t *)cd9660_inactive },/* inactive */
1029 { &vop_reclaim_desc, (vop_t *)cd9660_reclaim }, /* reclaim */
1030 { &vop_lock_desc, (vop_t *)cd9660_lock }, /* lock */
1031 { &vop_unlock_desc, (vop_t *)cd9660_unlock }, /* unlock */
1032 { &vop_bmap_desc, (vop_t *)cd9660_bmap }, /* bmap */
1033 { &vop_strategy_desc, (vop_t *)cd9660_strategy },/* strategy */
1034 { &vop_print_desc, (vop_t *)cd9660_print }, /* print */
1035 { &vop_islocked_desc, (vop_t *)cd9660_islocked },/* islocked */
1036 { &vop_pathconf_desc, (vop_t *)cd9660_pathconf },/* pathconf */
1037 { &vop_advlock_desc, (vop_t *)cd9660_advlock }, /* advlock */
1038 { &vop_blkatoff_desc, (vop_t *)cd9660_blkatoff },/* blkatoff */
1039 { &vop_valloc_desc, (vop_t *)cd9660_valloc }, /* valloc */
1040/* XXX: vop_reallocblks */
1041 { &vop_vfree_desc, (vop_t *)cd9660_vfree }, /* vfree */
1042 { &vop_truncate_desc, (vop_t *)cd9660_truncate },/* truncate */
1043 { &vop_update_desc, (vop_t *)cd9660_update }, /* update */
1044/* XXX: vop_getpages */
1045/* XXX: vop_putpages */
1046 { &vop_bwrite_desc, (vop_t *)vn_bwrite },
998 { &vop_default_desc, (vop_t *) vn_default_error },
999 { &vop_abortop_desc, (vop_t *) cd9660_abortop },
1000 { &vop_access_desc, (vop_t *) cd9660_access },
1001 { &vop_advlock_desc, (vop_t *) cd9660_advlock },
1002 { &vop_blkatoff_desc, (vop_t *) cd9660_blkatoff },
1003 { &vop_bmap_desc, (vop_t *) cd9660_bmap },
1004 { &vop_bwrite_desc, (vop_t *) vn_bwrite },
1005 { &vop_cachedlookup_desc, (vop_t *) cd9660_lookup },
1006 { &vop_close_desc, (vop_t *) cd9660_close },
1007 { &vop_create_desc, (vop_t *) cd9660_create },
1008 { &vop_fsync_desc, (vop_t *) cd9660_fsync },
1009 { &vop_getattr_desc, (vop_t *) cd9660_getattr },
1010 { &vop_inactive_desc, (vop_t *) cd9660_inactive },
1011 { &vop_ioctl_desc, (vop_t *) cd9660_ioctl },
1012 { &vop_islocked_desc, (vop_t *) cd9660_islocked },
1013 { &vop_lease_desc, (vop_t *) cd9660_lease_check },
1014 { &vop_link_desc, (vop_t *) cd9660_link },
1015 { &vop_lock_desc, (vop_t *) cd9660_lock },
1016 { &vop_lookup_desc, (vop_t *) vfs_cache_lookup },
1017 { &vop_mkdir_desc, (vop_t *) cd9660_mkdir },
1018 { &vop_mknod_desc, (vop_t *) cd9660_mknod },
1019 { &vop_mmap_desc, (vop_t *) cd9660_mmap },
1020 { &vop_open_desc, (vop_t *) cd9660_open },
1021 { &vop_pathconf_desc, (vop_t *) cd9660_pathconf },
1022 { &vop_poll_desc, (vop_t *) cd9660_poll },
1023 { &vop_print_desc, (vop_t *) cd9660_print },
1024 { &vop_read_desc, (vop_t *) cd9660_read },
1025 { &vop_readdir_desc, (vop_t *) cd9660_readdir },
1026 { &vop_readlink_desc, (vop_t *) cd9660_readlink },
1027 { &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
1028 { &vop_remove_desc, (vop_t *) cd9660_remove },
1029 { &vop_rename_desc, (vop_t *) cd9660_rename },
1030 { &vop_revoke_desc, (vop_t *) cd9660_revoke },
1031 { &vop_rmdir_desc, (vop_t *) cd9660_rmdir },
1032 { &vop_seek_desc, (vop_t *) cd9660_seek },
1033 { &vop_setattr_desc, (vop_t *) cd9660_setattr },
1034 { &vop_strategy_desc, (vop_t *) cd9660_strategy },
1035 { &vop_symlink_desc, (vop_t *) cd9660_symlink },
1036 { &vop_truncate_desc, (vop_t *) cd9660_truncate },
1037 { &vop_unlock_desc, (vop_t *) cd9660_unlock },
1038 { &vop_update_desc, (vop_t *) cd9660_update },
1039 { &vop_valloc_desc, (vop_t *) cd9660_valloc },
1040 { &vop_vfree_desc, (vop_t *) cd9660_vfree },
1041 { &vop_write_desc, (vop_t *) cd9660_write },
1047 { NULL, NULL }
1048};
1049static struct vnodeopv_desc cd9660_vnodeop_opv_desc =
1050 { &cd9660_vnodeop_p, cd9660_vnodeop_entries };
1051VNODEOP_SET(cd9660_vnodeop_opv_desc);
1052
1053/*
1054 * Special device vnode ops
1055 */
1056vop_t **cd9660_specop_p;
1057struct vnodeopv_entry_desc cd9660_specop_entries[] = {
1042 { NULL, NULL }
1043};
1044static struct vnodeopv_desc cd9660_vnodeop_opv_desc =
1045 { &cd9660_vnodeop_p, cd9660_vnodeop_entries };
1046VNODEOP_SET(cd9660_vnodeop_opv_desc);
1047
1048/*
1049 * Special device vnode ops
1050 */
1051vop_t **cd9660_specop_p;
1052struct vnodeopv_entry_desc cd9660_specop_entries[] = {
1058 { &vop_default_desc, (vop_t *)vn_default_error },
1059 { &vop_lookup_desc, (vop_t *)spec_lookup }, /* lookup */
1060/* XXX: vop_cachedlookup */
1061 { &vop_create_desc, (vop_t *)spec_create }, /* create */
1062/* XXX: vop_whiteout */
1063 { &vop_mknod_desc, (vop_t *)spec_mknod }, /* mknod */
1064 { &vop_open_desc, (vop_t *)spec_open }, /* open */
1065 { &vop_close_desc, (vop_t *)spec_close }, /* close */
1066 { &vop_access_desc, (vop_t *)cd9660_access }, /* access */
1067 { &vop_getattr_desc, (vop_t *)cd9660_getattr }, /* getattr */
1068 { &vop_setattr_desc, (vop_t *)cd9660_setattr }, /* setattr */
1069 { &vop_read_desc, (vop_t *)spec_read }, /* read */
1070 { &vop_write_desc, (vop_t *)spec_write }, /* write */
1071 { &vop_lease_desc, (vop_t *)spec_lease_check }, /* lease */
1072 { &vop_ioctl_desc, (vop_t *)spec_ioctl }, /* ioctl */
1073 { &vop_poll_desc, (vop_t *)spec_poll }, /* poll */
1074 { &vop_revoke_desc, (vop_t *)spec_revoke }, /* revoke */
1075 { &vop_mmap_desc, (vop_t *)spec_mmap }, /* mmap */
1076 { &vop_fsync_desc, (vop_t *)spec_fsync }, /* fsync */
1077 { &vop_seek_desc, (vop_t *)spec_seek }, /* seek */
1078 { &vop_remove_desc, (vop_t *)spec_remove }, /* remove */
1079 { &vop_link_desc, (vop_t *)spec_link }, /* link */
1080 { &vop_rename_desc, (vop_t *)spec_rename }, /* rename */
1081 { &vop_mkdir_desc, (vop_t *)spec_mkdir }, /* mkdir */
1082 { &vop_rmdir_desc, (vop_t *)spec_rmdir }, /* rmdir */
1083 { &vop_symlink_desc, (vop_t *)spec_symlink }, /* symlink */
1084 { &vop_readdir_desc, (vop_t *)spec_readdir }, /* readdir */
1085 { &vop_readlink_desc, (vop_t *)spec_readlink }, /* readlink */
1086 { &vop_abortop_desc, (vop_t *)spec_abortop }, /* abortop */
1087 { &vop_inactive_desc, (vop_t *)cd9660_inactive },/* inactive */
1088 { &vop_reclaim_desc, (vop_t *)cd9660_reclaim }, /* reclaim */
1089 { &vop_lock_desc, (vop_t *)cd9660_lock }, /* lock */
1090 { &vop_unlock_desc, (vop_t *)cd9660_unlock }, /* unlock */
1091 { &vop_bmap_desc, (vop_t *)spec_bmap }, /* bmap */
1092 { &vop_strategy_desc, (vop_t *)spec_strategy }, /* strategy */
1093 { &vop_print_desc, (vop_t *)cd9660_print }, /* print */
1094 { &vop_islocked_desc, (vop_t *)cd9660_islocked },/* islocked */
1095 { &vop_pathconf_desc, (vop_t *)spec_pathconf }, /* pathconf */
1096 { &vop_advlock_desc, (vop_t *)spec_advlock }, /* advlock */
1097 { &vop_blkatoff_desc, (vop_t *)spec_blkatoff }, /* blkatoff */
1098 { &vop_valloc_desc, (vop_t *)spec_valloc }, /* valloc */
1099/* XXX: vop_reallocblks */
1100 { &vop_vfree_desc, (vop_t *)spec_vfree }, /* vfree */
1101 { &vop_truncate_desc, (vop_t *)spec_truncate }, /* truncate */
1102 { &vop_update_desc, (vop_t *)cd9660_update }, /* update */
1103/* XXX: vop_getpages */
1104/* XXX: vop_putpages */
1105 { &vop_bwrite_desc, (vop_t *)vn_bwrite },
1053 { &vop_default_desc, (vop_t *) vn_default_error },
1054 { &vop_abortop_desc, (vop_t *) spec_abortop },
1055 { &vop_access_desc, (vop_t *) cd9660_access },
1056 { &vop_advlock_desc, (vop_t *) spec_advlock },
1057 { &vop_blkatoff_desc, (vop_t *) spec_blkatoff },
1058 { &vop_bmap_desc, (vop_t *) spec_bmap },
1059 { &vop_bwrite_desc, (vop_t *) vn_bwrite },
1060 { &vop_close_desc, (vop_t *) spec_close },
1061 { &vop_create_desc, (vop_t *) spec_create },
1062 { &vop_fsync_desc, (vop_t *) spec_fsync },
1063 { &vop_getattr_desc, (vop_t *) cd9660_getattr },
1064 { &vop_inactive_desc, (vop_t *) cd9660_inactive },
1065 { &vop_ioctl_desc, (vop_t *) spec_ioctl },
1066 { &vop_islocked_desc, (vop_t *) cd9660_islocked },
1067 { &vop_lease_desc, (vop_t *) spec_lease_check },
1068 { &vop_link_desc, (vop_t *) spec_link },
1069 { &vop_lock_desc, (vop_t *) cd9660_lock },
1070 { &vop_lookup_desc, (vop_t *) spec_lookup },
1071 { &vop_mkdir_desc, (vop_t *) spec_mkdir },
1072 { &vop_mknod_desc, (vop_t *) spec_mknod },
1073 { &vop_mmap_desc, (vop_t *) spec_mmap },
1074 { &vop_open_desc, (vop_t *) spec_open },
1075 { &vop_pathconf_desc, (vop_t *) spec_pathconf },
1076 { &vop_poll_desc, (vop_t *) spec_poll },
1077 { &vop_print_desc, (vop_t *) cd9660_print },
1078 { &vop_read_desc, (vop_t *) spec_read },
1079 { &vop_readdir_desc, (vop_t *) spec_readdir },
1080 { &vop_readlink_desc, (vop_t *) spec_readlink },
1081 { &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
1082 { &vop_remove_desc, (vop_t *) spec_remove },
1083 { &vop_rename_desc, (vop_t *) spec_rename },
1084 { &vop_revoke_desc, (vop_t *) spec_revoke },
1085 { &vop_rmdir_desc, (vop_t *) spec_rmdir },
1086 { &vop_seek_desc, (vop_t *) spec_seek },
1087 { &vop_setattr_desc, (vop_t *) cd9660_setattr },
1088 { &vop_strategy_desc, (vop_t *) spec_strategy },
1089 { &vop_symlink_desc, (vop_t *) spec_symlink },
1090 { &vop_truncate_desc, (vop_t *) spec_truncate },
1091 { &vop_unlock_desc, (vop_t *) cd9660_unlock },
1092 { &vop_update_desc, (vop_t *) cd9660_update },
1093 { &vop_valloc_desc, (vop_t *) spec_valloc },
1094 { &vop_vfree_desc, (vop_t *) spec_vfree },
1095 { &vop_write_desc, (vop_t *) spec_write },
1106 { NULL, NULL }
1107};
1108static struct vnodeopv_desc cd9660_specop_opv_desc =
1109 { &cd9660_specop_p, cd9660_specop_entries };
1110VNODEOP_SET(cd9660_specop_opv_desc);
1111
1112vop_t **cd9660_fifoop_p;
1113struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
1096 { NULL, NULL }
1097};
1098static struct vnodeopv_desc cd9660_specop_opv_desc =
1099 { &cd9660_specop_p, cd9660_specop_entries };
1100VNODEOP_SET(cd9660_specop_opv_desc);
1101
1102vop_t **cd9660_fifoop_p;
1103struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
1114 { &vop_default_desc, (vop_t *)vn_default_error },
1115 { &vop_lookup_desc, (vop_t *)fifo_lookup }, /* lookup */
1116/* XXX: vop_cachedlookup */
1117 { &vop_create_desc, (vop_t *)fifo_create }, /* create */
1118/* XXX: vop_whiteout */
1119 { &vop_mknod_desc, (vop_t *)fifo_mknod }, /* mknod */
1120 { &vop_open_desc, (vop_t *)fifo_open }, /* open */
1121 { &vop_close_desc, (vop_t *)fifo_close }, /* close */
1122 { &vop_access_desc, (vop_t *)cd9660_access }, /* access */
1123 { &vop_getattr_desc, (vop_t *)cd9660_getattr }, /* getattr */
1124 { &vop_setattr_desc, (vop_t *)cd9660_setattr }, /* setattr */
1125 { &vop_read_desc, (vop_t *)fifo_read }, /* read */
1126 { &vop_write_desc, (vop_t *)fifo_write }, /* write */
1127 { &vop_lease_desc, (vop_t *)fifo_lease_check }, /* lease */
1128 { &vop_ioctl_desc, (vop_t *)fifo_ioctl }, /* ioctl */
1129 { &vop_poll_desc, (vop_t *)fifo_poll }, /* poll */
1130 { &vop_revoke_desc, (vop_t *)fifo_revoke }, /* revoke */
1131 { &vop_mmap_desc, (vop_t *)fifo_mmap }, /* mmap */
1132 { &vop_fsync_desc, (vop_t *)fifo_fsync }, /* fsync */
1133 { &vop_seek_desc, (vop_t *)fifo_seek }, /* seek */
1134 { &vop_remove_desc, (vop_t *)fifo_remove }, /* remove */
1135 { &vop_link_desc, (vop_t *)fifo_link } , /* link */
1136 { &vop_rename_desc, (vop_t *)fifo_rename }, /* rename */
1137 { &vop_mkdir_desc, (vop_t *)fifo_mkdir }, /* mkdir */
1138 { &vop_rmdir_desc, (vop_t *)fifo_rmdir }, /* rmdir */
1139 { &vop_symlink_desc, (vop_t *)fifo_symlink }, /* symlink */
1140 { &vop_readdir_desc, (vop_t *)fifo_readdir }, /* readdir */
1141 { &vop_readlink_desc, (vop_t *)fifo_readlink }, /* readlink */
1142 { &vop_abortop_desc, (vop_t *)fifo_abortop }, /* abortop */
1143 { &vop_inactive_desc, (vop_t *)cd9660_inactive },/* inactive */
1144 { &vop_reclaim_desc, (vop_t *)cd9660_reclaim }, /* reclaim */
1145 { &vop_lock_desc, (vop_t *)cd9660_lock }, /* lock */
1146 { &vop_unlock_desc, (vop_t *)cd9660_unlock }, /* unlock */
1147 { &vop_bmap_desc, (vop_t *)fifo_bmap }, /* bmap */
1148 { &vop_strategy_desc, (vop_t *)fifo_strategy }, /* strategy */
1149 { &vop_print_desc, (vop_t *)cd9660_print }, /* print */
1150 { &vop_islocked_desc, (vop_t *)cd9660_islocked },/* islocked */
1151 { &vop_pathconf_desc, (vop_t *)fifo_pathconf }, /* pathconf */
1152 { &vop_advlock_desc, (vop_t *)fifo_advlock }, /* advlock */
1153 { &vop_blkatoff_desc, (vop_t *)fifo_blkatoff }, /* blkatoff */
1154 { &vop_valloc_desc, (vop_t *)fifo_valloc }, /* valloc */
1155/* XXX: vop_reallocpages */
1156 { &vop_vfree_desc, (vop_t *)fifo_vfree }, /* vfree */
1157 { &vop_truncate_desc, (vop_t *)fifo_truncate }, /* truncate */
1158 { &vop_update_desc, (vop_t *)cd9660_update }, /* update */
1159/* XXX: vop_getpages */
1160/* XXX: vop_putpages */
1161 { &vop_bwrite_desc, (vop_t *)vn_bwrite },
1104 { &vop_default_desc, (vop_t *) vn_default_error },
1105 { &vop_abortop_desc, (vop_t *) fifo_abortop },
1106 { &vop_access_desc, (vop_t *) cd9660_access },
1107 { &vop_advlock_desc, (vop_t *) fifo_advlock },
1108 { &vop_blkatoff_desc, (vop_t *) fifo_blkatoff },
1109 { &vop_bmap_desc, (vop_t *) fifo_bmap },
1110 { &vop_bwrite_desc, (vop_t *) vn_bwrite },
1111 { &vop_close_desc, (vop_t *) fifo_close },
1112 { &vop_create_desc, (vop_t *) fifo_create },
1113 { &vop_fsync_desc, (vop_t *) fifo_fsync },
1114 { &vop_getattr_desc, (vop_t *) cd9660_getattr },
1115 { &vop_inactive_desc, (vop_t *) cd9660_inactive },
1116 { &vop_ioctl_desc, (vop_t *) fifo_ioctl },
1117 { &vop_islocked_desc, (vop_t *) cd9660_islocked },
1118 { &vop_lease_desc, (vop_t *) fifo_lease_check },
1119 { &vop_link_desc, (vop_t *) fifo_link },
1120 { &vop_lock_desc, (vop_t *) cd9660_lock },
1121 { &vop_lookup_desc, (vop_t *) fifo_lookup },
1122 { &vop_mkdir_desc, (vop_t *) fifo_mkdir },
1123 { &vop_mknod_desc, (vop_t *) fifo_mknod },
1124 { &vop_mmap_desc, (vop_t *) fifo_mmap },
1125 { &vop_open_desc, (vop_t *) fifo_open },
1126 { &vop_pathconf_desc, (vop_t *) fifo_pathconf },
1127 { &vop_poll_desc, (vop_t *) fifo_poll },
1128 { &vop_print_desc, (vop_t *) cd9660_print },
1129 { &vop_read_desc, (vop_t *) fifo_read },
1130 { &vop_readdir_desc, (vop_t *) fifo_readdir },
1131 { &vop_readlink_desc, (vop_t *) fifo_readlink },
1132 { &vop_reclaim_desc, (vop_t *) cd9660_reclaim },
1133 { &vop_remove_desc, (vop_t *) fifo_remove },
1134 { &vop_rename_desc, (vop_t *) fifo_rename },
1135 { &vop_revoke_desc, (vop_t *) fifo_revoke },
1136 { &vop_rmdir_desc, (vop_t *) fifo_rmdir },
1137 { &vop_seek_desc, (vop_t *) fifo_seek },
1138 { &vop_setattr_desc, (vop_t *) cd9660_setattr },
1139 { &vop_strategy_desc, (vop_t *) fifo_strategy },
1140 { &vop_symlink_desc, (vop_t *) fifo_symlink },
1141 { &vop_truncate_desc, (vop_t *) fifo_truncate },
1142 { &vop_unlock_desc, (vop_t *) cd9660_unlock },
1143 { &vop_update_desc, (vop_t *) cd9660_update },
1144 { &vop_valloc_desc, (vop_t *) fifo_valloc },
1145 { &vop_vfree_desc, (vop_t *) fifo_vfree },
1146 { &vop_write_desc, (vop_t *) fifo_write },
1162 { NULL, NULL }
1163};
1164static struct vnodeopv_desc cd9660_fifoop_opv_desc =
1165 { &cd9660_fifoop_p, cd9660_fifoop_entries };
1166
1167VNODEOP_SET(cd9660_fifoop_opv_desc);
1147 { NULL, NULL }
1148};
1149static struct vnodeopv_desc cd9660_fifoop_opv_desc =
1150 { &cd9660_fifoop_p, cd9660_fifoop_entries };
1151
1152VNODEOP_SET(cd9660_fifoop_opv_desc);