1/* 2 * modified for EXT2FS support in Lites 1.1 3 * 4 * Aug 1995, Godmar Back (gback@cs.utah.edu) 5 * University of Utah, Department of Computer Science 6 */ 7/* 8 * Copyright (c) 1982, 1986, 1989, 1993 --- 77 unchanged lines hidden (view full) --- 86static struct vnodeopv_entry_desc ext2_vnodeop_entries[] = { 87 { &vop_default_desc, (vop_t *) ufs_vnoperate }, 88 { &vop_cachedlookup_desc, (vop_t *) ext2_lookup }, 89 { &vop_fsync_desc, (vop_t *) ext2_fsync }, 90 { &vop_inactive_desc, (vop_t *) ext2_inactive }, 91 { &vop_read_desc, (vop_t *) ext2_read }, 92 { &vop_readdir_desc, (vop_t *) ext2_readdir }, 93 { &vop_reallocblks_desc, (vop_t *) ext2_reallocblks }, |
94 { &vop_write_desc, (vop_t *) ext2_write }, 95 { NULL, NULL } 96}; 97static struct vnodeopv_desc ext2fs_vnodeop_opv_desc = 98 { &ext2_vnodeop_p, ext2_vnodeop_entries }; 99 100vop_t **ext2_specop_p; 101static struct vnodeopv_entry_desc ext2_specop_entries[] = { 102 { &vop_default_desc, (vop_t *) ufs_vnoperatespec }, 103 { &vop_fsync_desc, (vop_t *) ext2_fsync }, 104 { &vop_inactive_desc, (vop_t *) ext2_inactive }, |
105 { NULL, NULL } 106}; 107static struct vnodeopv_desc ext2fs_specop_opv_desc = 108 { &ext2_specop_p, ext2_specop_entries }; 109 110vop_t **ext2_fifoop_p; 111static struct vnodeopv_entry_desc ext2_fifoop_entries[] = { 112 { &vop_default_desc, (vop_t *) ufs_vnoperatefifo }, 113 { &vop_fsync_desc, (vop_t *) ext2_fsync }, 114 { &vop_inactive_desc, (vop_t *) ext2_inactive }, |
115 { NULL, NULL } 116}; 117static struct vnodeopv_desc ext2fs_fifoop_opv_desc = 118 { &ext2_fifoop_p, ext2_fifoop_entries }; 119 120#if defined(__FreeBSD__) 121 VNODEOP_SET(ext2fs_vnodeop_opv_desc); 122 VNODEOP_SET(ext2fs_specop_opv_desc); --- 69 unchanged lines hidden (view full) --- 192 if (vp->v_dirtyblkhd.lh_first) { 193 vprint("ext2_fsync: dirty", vp); 194 goto loop; 195 } 196#endif 197 } 198 splx(s); 199 gettime(&tv); |
200 return (UFS_UPDATE(ap->a_vp, &tv, &tv, ap->a_waitfor == MNT_WAIT)); |
201} |