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
This commit is contained in:
parent
5baa8fe000
commit
a45d8c6482
@ -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.*/
|
||||
|
Loading…
Reference in New Issue
Block a user