vfs_default.c (c7fb6fd1b8d892db4b4d9c6d962645f1cf3937e8) vfs_default.c (f5b11b6e2ddb88980c24cb32a5bbb1853397b3e5)
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
6 * to Berkeley by John Heidemann of the UCLA Ficus project.
7 *
8 * Source: * @(#)i405_init.c 2.10 92/04/27 UCLA Ficus project

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

61#include <vm/pmap.h>
62#include <vm/vm_map.h>
63#include <vm/vm_page.h>
64#include <vm/vm_pager.h>
65#include <vm/vnode_pager.h>
66
67static int vop_nolookup(struct vop_lookup_args *);
68static int vop_nostrategy(struct vop_strategy_args *);
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
6 * to Berkeley by John Heidemann of the UCLA Ficus project.
7 *
8 * Source: * @(#)i405_init.c 2.10 92/04/27 UCLA Ficus project

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

61#include <vm/pmap.h>
62#include <vm/vm_map.h>
63#include <vm/vm_page.h>
64#include <vm/vm_pager.h>
65#include <vm/vnode_pager.h>
66
67static int vop_nolookup(struct vop_lookup_args *);
68static int vop_nostrategy(struct vop_strategy_args *);
69static int vop_nospecstrategy(struct vop_specstrategy_args *);
69
70/*
71 * This vnode table stores what we want to do if the filesystem doesn't
72 * implement a particular VOP.
73 *
74 * If there is no specific entry here, we will return EOPNOTSUPP.
75 *
76 */

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

93 { &vop_lock_desc, (vop_t *) vop_stdlock },
94 { &vop_lookup_desc, (vop_t *) vop_nolookup },
95 { &vop_open_desc, (vop_t *) vop_null },
96 { &vop_pathconf_desc, (vop_t *) vop_einval },
97 { &vop_poll_desc, (vop_t *) vop_nopoll },
98 { &vop_putpages_desc, (vop_t *) vop_stdputpages },
99 { &vop_readlink_desc, (vop_t *) vop_einval },
100 { &vop_revoke_desc, (vop_t *) vop_revoke },
70
71/*
72 * This vnode table stores what we want to do if the filesystem doesn't
73 * implement a particular VOP.
74 *
75 * If there is no specific entry here, we will return EOPNOTSUPP.
76 *
77 */

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

94 { &vop_lock_desc, (vop_t *) vop_stdlock },
95 { &vop_lookup_desc, (vop_t *) vop_nolookup },
96 { &vop_open_desc, (vop_t *) vop_null },
97 { &vop_pathconf_desc, (vop_t *) vop_einval },
98 { &vop_poll_desc, (vop_t *) vop_nopoll },
99 { &vop_putpages_desc, (vop_t *) vop_stdputpages },
100 { &vop_readlink_desc, (vop_t *) vop_einval },
101 { &vop_revoke_desc, (vop_t *) vop_revoke },
102 { &vop_specstrategy_desc, (vop_t *) vop_nospecstrategy },
101 { &vop_strategy_desc, (vop_t *) vop_nostrategy },
102 { &vop_unlock_desc, (vop_t *) vop_stdunlock },
103 { NULL, NULL }
104};
105
106static struct vnodeopv_desc default_vnodeop_opv_desc =
107 { &default_vnodeop_p, default_vnodeop_entries };
108

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

216 vprint("", ap->a_bp->b_vp);
217 ap->a_bp->b_ioflags |= BIO_ERROR;
218 ap->a_bp->b_error = EOPNOTSUPP;
219 bufdone(ap->a_bp);
220 return (EOPNOTSUPP);
221}
222
223/*
103 { &vop_strategy_desc, (vop_t *) vop_nostrategy },
104 { &vop_unlock_desc, (vop_t *) vop_stdunlock },
105 { NULL, NULL }
106};
107
108static struct vnodeopv_desc default_vnodeop_opv_desc =
109 { &default_vnodeop_p, default_vnodeop_entries };
110

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

218 vprint("", ap->a_bp->b_vp);
219 ap->a_bp->b_ioflags |= BIO_ERROR;
220 ap->a_bp->b_error = EOPNOTSUPP;
221 bufdone(ap->a_bp);
222 return (EOPNOTSUPP);
223}
224
225/*
226 * vop_nospecstrategy:
227 *
228 * This shouldn't happen. VOP_SPECSTRATEGY should always have a VCHR
229 * argument vnode, and thos have a method for specstrategy over in
230 * specfs, so we only ever get here if somebody botched it.
231 * Pass the call to VOP_STRATEGY() and get on with life.
232 * The first time we print some info useful for debugging.
233 */
234
235static int
236vop_nospecstrategy (struct vop_specstrategy_args *ap)
237{
238 static int once;
239
240 if (!once) {
241 vprint("\nVOP_SPECSTRATEGY on non-VCHR\n", ap->a_vp);
242 backtrace();
243 once++;
244 }
245 return VOP_STRATEGY(ap->a_vp, ap->a_bp);
246}
247
248/*
224 * vop_stdpathconf:
225 *
226 * Standard implementation of POSIX pathconf, to get information about limits
227 * for a filesystem.
228 * Override per filesystem for the case where the filesystem has smaller
229 * limits.
230 */
231int

--- 596 unchanged lines hidden ---
249 * vop_stdpathconf:
250 *
251 * Standard implementation of POSIX pathconf, to get information about limits
252 * for a filesystem.
253 * Override per filesystem for the case where the filesystem has smaller
254 * limits.
255 */
256int

--- 596 unchanged lines hidden ---