nfs_vnops.c (30430) | nfs_vnops.c (30431) |
---|---|
1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Rick Macklem at The University of Guelph. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 | 1/* 2 * Copyright (c) 1989, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Rick Macklem at The University of Guelph. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 20 unchanged lines hidden (view full) --- 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 34 * SUCH DAMAGE. 35 * 36 * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 |
37 * $Id: nfs_vnops.c,v 1.62 1997/10/05 12:28:59 phk Exp $ | 37 * $Id: nfs_vnops.c,v 1.63 1997/10/15 07:42:31 phk Exp $ |
38 */ 39 40 41/* 42 * vnode op calls for Sun NFS version 2 and 3 43 */ 44 45#include <sys/param.h> --- 84 unchanged lines hidden (view full) --- 130static int nfs_pathconf __P((struct vop_pathconf_args *)); 131static int nfs_advlock __P((struct vop_advlock_args *)); 132static int nfs_bwrite __P((struct vop_bwrite_args *)); 133/* 134 * Global vfs data structures for nfs 135 */ 136vop_t **nfsv2_vnodeop_p; 137static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = { | 38 */ 39 40 41/* 42 * vnode op calls for Sun NFS version 2 and 3 43 */ 44 45#include <sys/param.h> --- 84 unchanged lines hidden (view full) --- 130static int nfs_pathconf __P((struct vop_pathconf_args *)); 131static int nfs_advlock __P((struct vop_advlock_args *)); 132static int nfs_bwrite __P((struct vop_bwrite_args *)); 133/* 134 * Global vfs data structures for nfs 135 */ 136vop_t **nfsv2_vnodeop_p; 137static struct vnodeopv_entry_desc nfsv2_vnodeop_entries[] = { |
138 { &vop_default_desc, (vop_t *)vn_default_error }, 139 { &vop_lookup_desc, (vop_t *)nfs_lookup }, /* lookup */ 140 { &vop_create_desc, (vop_t *)nfs_create }, /* create */ 141/* XXX: vop_whiteout */ 142 { &vop_mknod_desc, (vop_t *)nfs_mknod }, /* mknod */ 143 { &vop_open_desc, (vop_t *)nfs_open }, /* open */ 144 { &vop_close_desc, (vop_t *)nfs_close }, /* close */ 145 { &vop_access_desc, (vop_t *)nfs_access }, /* access */ 146 { &vop_getattr_desc, (vop_t *)nfs_getattr }, /* getattr */ 147 { &vop_setattr_desc, (vop_t *)nfs_setattr }, /* setattr */ 148 { &vop_read_desc, (vop_t *)nfs_read }, /* read */ 149 { &vop_write_desc, (vop_t *)nfs_write }, /* write */ 150 { &vop_lease_desc, (vop_t *)nfs_lease_check }, /* lease */ 151 { &vop_ioctl_desc, (vop_t *)nfs_ioctl }, /* ioctl */ 152 { &vop_poll_desc, (vop_t *)nfs_poll }, /* poll */ 153 { &vop_revoke_desc, (vop_t *)nfs_revoke }, /* revoke */ 154 { &vop_mmap_desc, (vop_t *)nfs_mmap }, /* mmap */ 155 { &vop_fsync_desc, (vop_t *)nfs_fsync }, /* fsync */ 156 { &vop_seek_desc, (vop_t *)nfs_seek }, /* seek */ 157 { &vop_remove_desc, (vop_t *)nfs_remove }, /* remove */ 158 { &vop_link_desc, (vop_t *)nfs_link }, /* link */ 159 { &vop_rename_desc, (vop_t *)nfs_rename }, /* rename */ 160 { &vop_mkdir_desc, (vop_t *)nfs_mkdir }, /* mkdir */ 161 { &vop_rmdir_desc, (vop_t *)nfs_rmdir }, /* rmdir */ 162 { &vop_symlink_desc, (vop_t *)nfs_symlink }, /* symlink */ 163 { &vop_readdir_desc, (vop_t *)nfs_readdir }, /* readdir */ 164 { &vop_readlink_desc, (vop_t *)nfs_readlink }, /* readlink */ 165 { &vop_abortop_desc, (vop_t *)nfs_abortop }, /* abortop */ 166 { &vop_inactive_desc, (vop_t *)nfs_inactive }, /* inactive */ 167 { &vop_reclaim_desc, (vop_t *)nfs_reclaim }, /* reclaim */ 168 { &vop_lock_desc, (vop_t *)nfs_lock }, /* lock */ 169 { &vop_unlock_desc, (vop_t *)nfs_unlock }, /* unlock */ 170 { &vop_bmap_desc, (vop_t *)nfs_bmap }, /* bmap */ 171 { &vop_strategy_desc, (vop_t *)nfs_strategy }, /* strategy */ 172 { &vop_print_desc, (vop_t *)nfs_print }, /* print */ 173 { &vop_islocked_desc, (vop_t *)nfs_islocked }, /* islocked */ 174 { &vop_pathconf_desc, (vop_t *)nfs_pathconf }, /* pathconf */ 175 { &vop_advlock_desc, (vop_t *)nfs_advlock }, /* advlock */ 176 { &vop_getpages_desc, (vop_t *)nfs_getpages }, /* getpages */ 177/* XXX: vop_putpages */ 178 { &vop_bwrite_desc, (vop_t *)nfs_bwrite }, /* bwrite */ | 138 { &vop_default_desc, (vop_t *) vn_default_error }, 139 { &vop_abortop_desc, (vop_t *) nfs_abortop }, 140 { &vop_access_desc, (vop_t *) nfs_access }, 141 { &vop_advlock_desc, (vop_t *) nfs_advlock }, 142 { &vop_bmap_desc, (vop_t *) nfs_bmap }, 143 { &vop_bwrite_desc, (vop_t *) nfs_bwrite }, 144 { &vop_close_desc, (vop_t *) nfs_close }, 145 { &vop_create_desc, (vop_t *) nfs_create }, 146 { &vop_fsync_desc, (vop_t *) nfs_fsync }, 147 { &vop_getattr_desc, (vop_t *) nfs_getattr }, 148 { &vop_getpages_desc, (vop_t *) nfs_getpages }, 149 { &vop_inactive_desc, (vop_t *) nfs_inactive }, 150 { &vop_ioctl_desc, (vop_t *) nfs_ioctl }, 151 { &vop_islocked_desc, (vop_t *) nfs_islocked }, 152 { &vop_lease_desc, (vop_t *) nfs_lease_check }, 153 { &vop_link_desc, (vop_t *) nfs_link }, 154 { &vop_lock_desc, (vop_t *) nfs_lock }, 155 { &vop_lookup_desc, (vop_t *) nfs_lookup }, 156 { &vop_mkdir_desc, (vop_t *) nfs_mkdir }, 157 { &vop_mknod_desc, (vop_t *) nfs_mknod }, 158 { &vop_mmap_desc, (vop_t *) nfs_mmap }, 159 { &vop_open_desc, (vop_t *) nfs_open }, 160 { &vop_pathconf_desc, (vop_t *) nfs_pathconf }, 161 { &vop_poll_desc, (vop_t *) nfs_poll }, 162 { &vop_print_desc, (vop_t *) nfs_print }, 163 { &vop_read_desc, (vop_t *) nfs_read }, 164 { &vop_readdir_desc, (vop_t *) nfs_readdir }, 165 { &vop_readlink_desc, (vop_t *) nfs_readlink }, 166 { &vop_reclaim_desc, (vop_t *) nfs_reclaim }, 167 { &vop_remove_desc, (vop_t *) nfs_remove }, 168 { &vop_rename_desc, (vop_t *) nfs_rename }, 169 { &vop_revoke_desc, (vop_t *) nfs_revoke }, 170 { &vop_rmdir_desc, (vop_t *) nfs_rmdir }, 171 { &vop_seek_desc, (vop_t *) nfs_seek }, 172 { &vop_setattr_desc, (vop_t *) nfs_setattr }, 173 { &vop_strategy_desc, (vop_t *) nfs_strategy }, 174 { &vop_symlink_desc, (vop_t *) nfs_symlink }, 175 { &vop_unlock_desc, (vop_t *) nfs_unlock }, 176 { &vop_write_desc, (vop_t *) nfs_write }, |
179 { NULL, NULL } 180}; 181static struct vnodeopv_desc nfsv2_vnodeop_opv_desc = 182 { &nfsv2_vnodeop_p, nfsv2_vnodeop_entries }; 183VNODEOP_SET(nfsv2_vnodeop_opv_desc); 184 185/* 186 * Special device vnode ops 187 */ 188vop_t **spec_nfsv2nodeop_p; 189static struct vnodeopv_entry_desc spec_nfsv2nodeop_entries[] = { | 177 { NULL, NULL } 178}; 179static struct vnodeopv_desc nfsv2_vnodeop_opv_desc = 180 { &nfsv2_vnodeop_p, nfsv2_vnodeop_entries }; 181VNODEOP_SET(nfsv2_vnodeop_opv_desc); 182 183/* 184 * Special device vnode ops 185 */ 186vop_t **spec_nfsv2nodeop_p; 187static struct vnodeopv_entry_desc spec_nfsv2nodeop_entries[] = { |
190 { &vop_default_desc, (vop_t *)vn_default_error }, 191 { &vop_lookup_desc, (vop_t *)spec_lookup }, /* lookup */ 192/* XXX: vop_cachedlookup */ 193 { &vop_create_desc, (vop_t *)spec_create }, /* create */ 194/* XXX: vop_whiteout */ 195 { &vop_mknod_desc, (vop_t *)spec_mknod }, /* mknod */ 196 { &vop_open_desc, (vop_t *)spec_open }, /* open */ 197 { &vop_close_desc, (vop_t *)nfsspec_close }, /* close */ 198 { &vop_access_desc, (vop_t *)nfsspec_access }, /* access */ 199 { &vop_getattr_desc, (vop_t *)nfs_getattr }, /* getattr */ 200 { &vop_setattr_desc, (vop_t *)nfs_setattr }, /* setattr */ 201 { &vop_read_desc, (vop_t *)nfsspec_read }, /* read */ 202 { &vop_write_desc, (vop_t *)nfsspec_write }, /* write */ 203 { &vop_lease_desc, (vop_t *)spec_lease_check }, /* lease */ 204 { &vop_ioctl_desc, (vop_t *)spec_ioctl }, /* ioctl */ 205 { &vop_poll_desc, (vop_t *)spec_poll }, /* poll */ 206 { &vop_revoke_desc, (vop_t *)spec_revoke }, /* revoke */ 207 { &vop_mmap_desc, (vop_t *)spec_mmap }, /* mmap */ 208 { &vop_fsync_desc, (vop_t *)nfs_fsync }, /* fsync */ 209 { &vop_seek_desc, (vop_t *)spec_seek }, /* seek */ 210 { &vop_remove_desc, (vop_t *)spec_remove }, /* remove */ 211 { &vop_link_desc, (vop_t *)spec_link }, /* link */ 212 { &vop_rename_desc, (vop_t *)spec_rename }, /* rename */ 213 { &vop_mkdir_desc, (vop_t *)spec_mkdir }, /* mkdir */ 214 { &vop_rmdir_desc, (vop_t *)spec_rmdir }, /* rmdir */ 215 { &vop_symlink_desc, (vop_t *)spec_symlink }, /* symlink */ 216 { &vop_readdir_desc, (vop_t *)spec_readdir }, /* readdir */ 217 { &vop_readlink_desc, (vop_t *)spec_readlink }, /* readlink */ 218 { &vop_abortop_desc, (vop_t *)spec_abortop }, /* abortop */ 219 { &vop_inactive_desc, (vop_t *)nfs_inactive }, /* inactive */ 220 { &vop_reclaim_desc, (vop_t *)nfs_reclaim }, /* reclaim */ 221 { &vop_lock_desc, (vop_t *)nfs_lock }, /* lock */ 222 { &vop_unlock_desc, (vop_t *)nfs_unlock }, /* unlock */ 223 { &vop_bmap_desc, (vop_t *)spec_bmap }, /* bmap */ 224 { &vop_strategy_desc, (vop_t *)spec_strategy }, /* strategy */ 225 { &vop_print_desc, (vop_t *)nfs_print }, /* print */ 226 { &vop_islocked_desc, (vop_t *)nfs_islocked }, /* islocked */ 227 { &vop_pathconf_desc, (vop_t *)spec_pathconf }, /* pathconf */ 228 { &vop_advlock_desc, (vop_t *)spec_advlock }, /* advlock */ 229/* XXX: vop_getpages - XXX: call spec_getpages here? */ 230/* XXX: vop_putpages */ 231 { &vop_bwrite_desc, (vop_t *)vn_bwrite }, /* bwrite */ | 188 { &vop_default_desc, (vop_t *) vn_default_error }, 189 { &vop_abortop_desc, (vop_t *) spec_abortop }, 190 { &vop_access_desc, (vop_t *) nfsspec_access }, 191 { &vop_advlock_desc, (vop_t *) spec_advlock }, 192 { &vop_bmap_desc, (vop_t *) spec_bmap }, 193 { &vop_bwrite_desc, (vop_t *) vn_bwrite }, 194 { &vop_close_desc, (vop_t *) nfsspec_close }, 195 { &vop_create_desc, (vop_t *) spec_create }, 196 { &vop_fsync_desc, (vop_t *) nfs_fsync }, 197 { &vop_getattr_desc, (vop_t *) nfs_getattr }, 198 { &vop_inactive_desc, (vop_t *) nfs_inactive }, 199 { &vop_ioctl_desc, (vop_t *) spec_ioctl }, 200 { &vop_islocked_desc, (vop_t *) nfs_islocked }, 201 { &vop_lease_desc, (vop_t *) spec_lease_check }, 202 { &vop_link_desc, (vop_t *) spec_link }, 203 { &vop_lock_desc, (vop_t *) nfs_lock }, 204 { &vop_lookup_desc, (vop_t *) spec_lookup }, 205 { &vop_mkdir_desc, (vop_t *) spec_mkdir }, 206 { &vop_mknod_desc, (vop_t *) spec_mknod }, 207 { &vop_mmap_desc, (vop_t *) spec_mmap }, 208 { &vop_open_desc, (vop_t *) spec_open }, 209 { &vop_pathconf_desc, (vop_t *) spec_pathconf }, 210 { &vop_poll_desc, (vop_t *) spec_poll }, 211 { &vop_print_desc, (vop_t *) nfs_print }, 212 { &vop_read_desc, (vop_t *) nfsspec_read }, 213 { &vop_readdir_desc, (vop_t *) spec_readdir }, 214 { &vop_readlink_desc, (vop_t *) spec_readlink }, 215 { &vop_reclaim_desc, (vop_t *) nfs_reclaim }, 216 { &vop_remove_desc, (vop_t *) spec_remove }, 217 { &vop_rename_desc, (vop_t *) spec_rename }, 218 { &vop_revoke_desc, (vop_t *) spec_revoke }, 219 { &vop_rmdir_desc, (vop_t *) spec_rmdir }, 220 { &vop_seek_desc, (vop_t *) spec_seek }, 221 { &vop_setattr_desc, (vop_t *) nfs_setattr }, 222 { &vop_strategy_desc, (vop_t *) spec_strategy }, 223 { &vop_symlink_desc, (vop_t *) spec_symlink }, 224 { &vop_unlock_desc, (vop_t *) nfs_unlock }, 225 { &vop_write_desc, (vop_t *) nfsspec_write }, |
232 { NULL, NULL } 233}; 234static struct vnodeopv_desc spec_nfsv2nodeop_opv_desc = 235 { &spec_nfsv2nodeop_p, spec_nfsv2nodeop_entries }; 236VNODEOP_SET(spec_nfsv2nodeop_opv_desc); 237 238vop_t **fifo_nfsv2nodeop_p; 239static struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = { | 226 { NULL, NULL } 227}; 228static struct vnodeopv_desc spec_nfsv2nodeop_opv_desc = 229 { &spec_nfsv2nodeop_p, spec_nfsv2nodeop_entries }; 230VNODEOP_SET(spec_nfsv2nodeop_opv_desc); 231 232vop_t **fifo_nfsv2nodeop_p; 233static struct vnodeopv_entry_desc fifo_nfsv2nodeop_entries[] = { |
240 { &vop_default_desc, (vop_t *)vn_default_error }, 241 { &vop_lookup_desc, (vop_t *)fifo_lookup }, /* lookup */ 242/* XXX: vop_cachedlookup */ 243 { &vop_create_desc, (vop_t *)fifo_create }, /* create */ 244/* XXX: vop_whiteout */ 245 { &vop_mknod_desc, (vop_t *)fifo_mknod }, /* mknod */ 246 { &vop_open_desc, (vop_t *)fifo_open }, /* open */ 247 { &vop_close_desc, (vop_t *)nfsfifo_close }, /* close */ 248 { &vop_access_desc, (vop_t *)nfsspec_access }, /* access */ 249 { &vop_getattr_desc, (vop_t *)nfs_getattr }, /* getattr */ 250 { &vop_setattr_desc, (vop_t *)nfs_setattr }, /* setattr */ 251 { &vop_read_desc, (vop_t *)nfsfifo_read }, /* read */ 252 { &vop_write_desc, (vop_t *)nfsfifo_write }, /* write */ 253 { &vop_lease_desc, (vop_t *)fifo_lease_check }, /* lease */ 254 { &vop_ioctl_desc, (vop_t *)fifo_ioctl }, /* ioctl */ 255 { &vop_poll_desc, (vop_t *)fifo_poll }, /* poll */ 256 { &vop_revoke_desc, (vop_t *)fifo_revoke }, /* revoke */ 257 { &vop_mmap_desc, (vop_t *)fifo_mmap }, /* mmap */ 258 { &vop_fsync_desc, (vop_t *)nfs_fsync }, /* fsync */ 259 { &vop_seek_desc, (vop_t *)fifo_seek }, /* seek */ 260 { &vop_remove_desc, (vop_t *)fifo_remove }, /* remove */ 261 { &vop_link_desc, (vop_t *)fifo_link }, /* link */ 262 { &vop_rename_desc, (vop_t *)fifo_rename }, /* rename */ 263 { &vop_mkdir_desc, (vop_t *)fifo_mkdir }, /* mkdir */ 264 { &vop_rmdir_desc, (vop_t *)fifo_rmdir }, /* rmdir */ 265 { &vop_symlink_desc, (vop_t *)fifo_symlink }, /* symlink */ 266 { &vop_readdir_desc, (vop_t *)fifo_readdir }, /* readdir */ 267 { &vop_readlink_desc, (vop_t *)fifo_readlink }, /* readlink */ 268 { &vop_abortop_desc, (vop_t *)fifo_abortop }, /* abortop */ 269 { &vop_inactive_desc, (vop_t *)nfs_inactive }, /* inactive */ 270 { &vop_reclaim_desc, (vop_t *)nfs_reclaim }, /* reclaim */ 271 { &vop_lock_desc, (vop_t *)nfs_lock }, /* lock */ 272 { &vop_unlock_desc, (vop_t *)nfs_unlock }, /* unlock */ 273 { &vop_bmap_desc, (vop_t *)fifo_bmap }, /* bmap */ 274 { &vop_strategy_desc, (vop_t *)fifo_strategy }, /* strategy */ 275 { &vop_print_desc, (vop_t *)nfs_print }, /* print */ 276 { &vop_islocked_desc, (vop_t *)nfs_islocked }, /* islocked */ 277 { &vop_pathconf_desc, (vop_t *)fifo_pathconf }, /* pathconf */ 278 { &vop_advlock_desc, (vop_t *)fifo_advlock }, /* advlock */ 279/* XXX: vop_getpages */ 280/* XXX: vop_putpages */ 281 { &vop_bwrite_desc, (vop_t *)vn_bwrite }, /* bwrite */ | 234 { &vop_default_desc, (vop_t *) vn_default_error }, 235 { &vop_abortop_desc, (vop_t *) fifo_abortop }, 236 { &vop_access_desc, (vop_t *) nfsspec_access }, 237 { &vop_advlock_desc, (vop_t *) fifo_advlock }, 238 { &vop_bmap_desc, (vop_t *) fifo_bmap }, 239 { &vop_bwrite_desc, (vop_t *) vn_bwrite }, 240 { &vop_close_desc, (vop_t *) nfsfifo_close }, 241 { &vop_create_desc, (vop_t *) fifo_create }, 242 { &vop_fsync_desc, (vop_t *) nfs_fsync }, 243 { &vop_getattr_desc, (vop_t *) nfs_getattr }, 244 { &vop_inactive_desc, (vop_t *) nfs_inactive }, 245 { &vop_ioctl_desc, (vop_t *) fifo_ioctl }, 246 { &vop_islocked_desc, (vop_t *) nfs_islocked }, 247 { &vop_lease_desc, (vop_t *) fifo_lease_check }, 248 { &vop_link_desc, (vop_t *) fifo_link }, 249 { &vop_lock_desc, (vop_t *) nfs_lock }, 250 { &vop_lookup_desc, (vop_t *) fifo_lookup }, 251 { &vop_mkdir_desc, (vop_t *) fifo_mkdir }, 252 { &vop_mknod_desc, (vop_t *) fifo_mknod }, 253 { &vop_mmap_desc, (vop_t *) fifo_mmap }, 254 { &vop_open_desc, (vop_t *) fifo_open }, 255 { &vop_pathconf_desc, (vop_t *) fifo_pathconf }, 256 { &vop_poll_desc, (vop_t *) fifo_poll }, 257 { &vop_print_desc, (vop_t *) nfs_print }, 258 { &vop_read_desc, (vop_t *) nfsfifo_read }, 259 { &vop_readdir_desc, (vop_t *) fifo_readdir }, 260 { &vop_readlink_desc, (vop_t *) fifo_readlink }, 261 { &vop_reclaim_desc, (vop_t *) nfs_reclaim }, 262 { &vop_remove_desc, (vop_t *) fifo_remove }, 263 { &vop_rename_desc, (vop_t *) fifo_rename }, 264 { &vop_revoke_desc, (vop_t *) fifo_revoke }, 265 { &vop_rmdir_desc, (vop_t *) fifo_rmdir }, 266 { &vop_seek_desc, (vop_t *) fifo_seek }, 267 { &vop_setattr_desc, (vop_t *) nfs_setattr }, 268 { &vop_strategy_desc, (vop_t *) fifo_strategy }, 269 { &vop_symlink_desc, (vop_t *) fifo_symlink }, 270 { &vop_unlock_desc, (vop_t *) nfs_unlock }, 271 { &vop_write_desc, (vop_t *) nfsfifo_write }, |
282 { NULL, NULL } 283}; 284static struct vnodeopv_desc fifo_nfsv2nodeop_opv_desc = 285 { &fifo_nfsv2nodeop_p, fifo_nfsv2nodeop_entries }; 286VNODEOP_SET(fifo_nfsv2nodeop_opv_desc); 287 288static int nfs_commit __P((struct vnode *vp, u_quad_t offset, int cnt, 289 struct ucred *cred, struct proc *procp)); --- 3096 unchanged lines hidden --- | 272 { NULL, NULL } 273}; 274static struct vnodeopv_desc fifo_nfsv2nodeop_opv_desc = 275 { &fifo_nfsv2nodeop_p, fifo_nfsv2nodeop_entries }; 276VNODEOP_SET(fifo_nfsv2nodeop_opv_desc); 277 278static int nfs_commit __P((struct vnode *vp, u_quad_t offset, int cnt, 279 struct ucred *cred, struct proc *procp)); --- 3096 unchanged lines hidden --- |