diff options
author | rwatson <rwatson@FreeBSD.org> | 2008-01-19 17:12:44 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2008-01-19 17:12:44 +0000 |
commit | a45d8c6482b786edcfd7a9ec4556ff8c4e2fe2e4 (patch) | |
tree | 87117244a9ec9fc78b210e01c1fe50b292a1ba72 /sys/fs | |
parent | 5baa8fe0004741a35c29a3b56dd3500ae74ba4c7 (diff) | |
download | FreeBSD-src-a45d8c6482b786edcfd7a9ec4556ff8c4e2fe2e4.zip FreeBSD-src-a45d8c6482b786edcfd7a9ec4556ff8c4e2fe2e4.tar.gz |
Improve default vnode operation handling for Coda:
- Don't specify vnode operations for mknod, lease, and advlock--let them
fall through to vop_default.
- Implement vop_default with &default_vnodeops, rather than with VOP_PANIC,
so that unimplemented vnode operations are handled in more sensible ways
than panicking, such as EOPNOTSUPP on ACL queries generated by bsdtar,
or mknod.
MFC after: 3 days
Diffstat (limited to 'sys/fs')
-rw-r--r-- | sys/fs/coda/coda_vnops.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/fs/coda/coda_vnops.c b/sys/fs/coda/coda_vnops.c index a349bd8..fedb267 100644 --- a/sys/fs/coda/coda_vnops.c +++ b/sys/fs/coda/coda_vnops.c @@ -106,10 +106,9 @@ static int coda_lockdebug = 0; /* Definition of the vnode operation vector */ struct vop_vector coda_vnodeops = { - .vop_default = VOP_PANIC, + .vop_default = &default_vnodeops, .vop_lookup = coda_lookup, /* lookup */ .vop_create = coda_create, /* create */ - .vop_mknod = VOP_PANIC, /* mknod */ .vop_open = coda_open, /* open */ .vop_close = coda_close, /* close */ .vop_access = coda_access, /* access */ @@ -135,8 +134,6 @@ struct vop_vector coda_vnodeops = { .vop_print = VOP_NULL, /* print */ .vop_islocked = coda_islocked, /* islocked */ .vop_pathconf = coda_pathconf, /* pathconf */ - .vop_advlock = VOP_NULL, /* advlock */ - .vop_lease = VOP_NULL, /* lease */ .vop_poll = vop_stdpoll, .vop_getpages = vop_stdgetpages, /* pager intf.*/ .vop_putpages = vop_stdputpages, /* pager intf.*/ |