summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2008-01-19 17:12:44 +0000
committerrwatson <rwatson@FreeBSD.org>2008-01-19 17:12:44 +0000
commita45d8c6482b786edcfd7a9ec4556ff8c4e2fe2e4 (patch)
tree87117244a9ec9fc78b210e01c1fe50b292a1ba72 /sys
parent5baa8fe0004741a35c29a3b56dd3500ae74ba4c7 (diff)
downloadFreeBSD-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')
-rw-r--r--sys/fs/coda/coda_vnops.c5
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.*/
OpenPOWER on IntegriCloud