From aa59c4cb15a6ac5d4e585dadf7a055b580abf579 Mon Sep 17 00:00:00 2001 From: rsb Date: Mon, 26 Mar 2007 17:41:06 -0700 Subject: PSARC/2007/124 Strong Type-Checking for VFS Operation Registration Mechanism 6505923 Need better type checking for vnodeops 6531594 lxpr_readlink() is missing the "cred_t *cr" arg 6532559 vfs_strayops does not use the vnode/vfs operation registration mechanism --- usr/src/uts/common/fs/ctfs/ctfs_event.c | 44 ++++++++++++++++----------------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'usr/src/uts/common/fs/ctfs/ctfs_event.c') diff --git a/usr/src/uts/common/fs/ctfs/ctfs_event.c b/usr/src/uts/common/fs/ctfs/ctfs_event.c index 7fa7cfb608..ac4447e493 100644 --- a/usr/src/uts/common/fs/ctfs/ctfs_event.c +++ b/usr/src/uts/common/fs/ctfs/ctfs_event.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -31,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -304,15 +304,15 @@ ctfs_ev_poll(vnode_t *vp, short events, int anyyet, short *reventsp, } const fs_operation_def_t ctfs_tops_event[] = { - { VOPNAME_OPEN, ctfs_ev_open }, - { VOPNAME_CLOSE, ctfs_close }, - { VOPNAME_IOCTL, ctfs_ev_ioctl }, - { VOPNAME_GETATTR, ctfs_ev_getattr }, - { VOPNAME_ACCESS, ctfs_ev_access }, - { VOPNAME_READDIR, fs_notdir }, - { VOPNAME_LOOKUP, fs_notdir }, - { VOPNAME_INACTIVE, (fs_generic_func_p) ctfs_ev_inactive }, - { VOPNAME_POLL, (fs_generic_func_p) ctfs_ev_poll }, + { VOPNAME_OPEN, { .vop_open = ctfs_ev_open } }, + { VOPNAME_CLOSE, { .vop_close = ctfs_close } }, + { VOPNAME_IOCTL, { .vop_ioctl = ctfs_ev_ioctl } }, + { VOPNAME_GETATTR, { .vop_getattr = ctfs_ev_getattr } }, + { VOPNAME_ACCESS, { .vop_access = ctfs_ev_access } }, + { VOPNAME_READDIR, { .error = fs_notdir } }, + { VOPNAME_LOOKUP, { .error = fs_notdir } }, + { VOPNAME_INACTIVE, { .vop_inactive = ctfs_ev_inactive } }, + { VOPNAME_POLL, { .vop_poll = ctfs_ev_poll } }, { NULL, NULL } }; @@ -447,14 +447,14 @@ ctfs_bu_poll(vnode_t *vp, short events, int anyyet, short *reventsp, } const fs_operation_def_t ctfs_tops_bundle[] = { - { VOPNAME_OPEN, ctfs_bu_open }, - { VOPNAME_CLOSE, ctfs_close }, - { VOPNAME_IOCTL, ctfs_bu_ioctl }, - { VOPNAME_GETATTR, ctfs_bu_getattr }, - { VOPNAME_ACCESS, ctfs_access_readonly }, - { VOPNAME_READDIR, fs_notdir }, - { VOPNAME_LOOKUP, fs_notdir }, - { VOPNAME_INACTIVE, (fs_generic_func_p) ctfs_bu_inactive }, - { VOPNAME_POLL, (fs_generic_func_p) ctfs_bu_poll }, + { VOPNAME_OPEN, { .vop_open = ctfs_bu_open } }, + { VOPNAME_CLOSE, { .vop_close = ctfs_close } }, + { VOPNAME_IOCTL, { .vop_ioctl = ctfs_bu_ioctl } }, + { VOPNAME_GETATTR, { .vop_getattr = ctfs_bu_getattr } }, + { VOPNAME_ACCESS, { .vop_access = ctfs_access_readonly } }, + { VOPNAME_READDIR, { .error = fs_notdir } }, + { VOPNAME_LOOKUP, { .error = fs_notdir } }, + { VOPNAME_INACTIVE, { .vop_inactive = ctfs_bu_inactive } }, + { VOPNAME_POLL, { .vop_poll = ctfs_bu_poll } }, { NULL, NULL } }; -- cgit v1.2.3