summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/vfs_default.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c
index 618ce56..3e9fc75 100644
--- a/sys/kern/vfs_default.c
+++ b/sys/kern/vfs_default.c
@@ -65,7 +65,8 @@
#include <vm/vnode_pager.h>
#include <vm/vm_zone.h>
-static int vop_nostrategy __P((struct vop_strategy_args *));
+static int vop_nolookup __P((struct vop_lookup_args *));
+static int vop_nostrategy __P((struct vop_strategy_args *));
/*
* This vnode table stores what we want to do if the filesystem doesn't
@@ -90,6 +91,7 @@ static struct vnodeopv_entry_desc default_vnodeop_entries[] = {
{ &vop_islocked_desc, (vop_t *) vop_noislocked },
{ &vop_lease_desc, (vop_t *) vop_null },
{ &vop_lock_desc, (vop_t *) vop_nolock },
+ { &vop_lookup_desc, (vop_t *) vop_nolookup },
{ &vop_open_desc, (vop_t *) vop_null },
{ &vop_pathconf_desc, (vop_t *) vop_einval },
{ &vop_poll_desc, (vop_t *) vop_nopoll },
@@ -154,9 +156,20 @@ int
vop_panic(struct vop_generic_args *ap)
{
- printf("vop_panic[%s]\n", ap->a_desc->vdesc_name);
- panic("Filesystem goof");
- return (0);
+ panic("filesystem goof: vop_panic[%s]", ap->a_desc->vdesc_name);
+}
+
+static int
+vop_nolookup(ap)
+ struct vop_lookup_args /* {
+ struct vnode *a_dvp;
+ struct vnode **a_vpp;
+ struct componentname *a_cnp;
+ } */ *ap;
+{
+
+ *ap->a_vpp = NULL;
+ return (ENOTDIR);
}
/*
OpenPOWER on IntegriCloud