summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/swapfs/swap_vnops.c
diff options
context:
space:
mode:
authorrsb <none@none>2007-03-26 17:41:06 -0700
committerrsb <none@none>2007-03-26 17:41:06 -0700
commitaa59c4cb15a6ac5d4e585dadf7a055b580abf579 (patch)
tree67105846ea7ea656699224cf37f3cf859c00cd6a /usr/src/uts/common/fs/swapfs/swap_vnops.c
parentaf2c4821c0a23e873f2a63bca4145080aa2183e3 (diff)
downloadillumos-gate-aa59c4cb15a6ac5d4e585dadf7a055b580abf579.tar.gz
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
Diffstat (limited to 'usr/src/uts/common/fs/swapfs/swap_vnops.c')
-rw-r--r--usr/src/uts/common/fs/swapfs/swap_vnops.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/usr/src/uts/common/fs/swapfs/swap_vnops.c b/usr/src/uts/common/fs/swapfs/swap_vnops.c
index bdcf5b8ca2..53bdae350c 100644
--- a/usr/src/uts/common/fs/swapfs/swap_vnops.c
+++ b/usr/src/uts/common/fs/swapfs/swap_vnops.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -32,6 +32,7 @@
#include <sys/cred.h>
#include <sys/errno.h>
#include <sys/vnode.h>
+#include <sys/vfs_opreg.h>
#include <sys/cmn_err.h>
#include <sys/swap.h>
#include <sys/mman.h>
@@ -75,16 +76,16 @@ static int swap_putapage(struct vnode *vp, page_t *pp, u_offset_t *off,
size_t *lenp, int flags, struct cred *cr);
const fs_operation_def_t swap_vnodeops_template[] = {
- VOPNAME_INACTIVE, (fs_generic_func_p) swap_inactive,
- VOPNAME_GETPAGE, swap_getpage,
- VOPNAME_PUTPAGE, swap_putpage,
- VOPNAME_DISPOSE, (fs_generic_func_p) swap_dispose,
- VOPNAME_SETFL, fs_error,
- VOPNAME_POLL, fs_error,
- VOPNAME_PATHCONF, fs_error,
- VOPNAME_GETSECATTR, fs_error,
- VOPNAME_SHRLOCK, fs_error,
- NULL, NULL
+ VOPNAME_INACTIVE, { .vop_inactive = swap_inactive },
+ VOPNAME_GETPAGE, { .vop_getpage = swap_getpage },
+ VOPNAME_PUTPAGE, { .vop_putpage = swap_putpage },
+ VOPNAME_DISPOSE, { .vop_dispose = swap_dispose },
+ VOPNAME_SETFL, { .error = fs_error },
+ VOPNAME_POLL, { .error = fs_error },
+ VOPNAME_PATHCONF, { .error = fs_error },
+ VOPNAME_GETSECATTR, { .error = fs_error },
+ VOPNAME_SHRLOCK, { .error = fs_error },
+ NULL, NULL
};
vnodeops_t *swap_vnodeops;