diff options
Diffstat (limited to 'usr/src/uts/common/fs/nfs')
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs3_vfsops.c | 19 | ||||
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs3_vnops.c | 84 | ||||
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs4_srv.c | 37 | ||||
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs4_vfsops.c | 21 | ||||
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs4_vnops.c | 82 | ||||
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs_common.c | 5 | ||||
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs_vfsops.c | 19 | ||||
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs_vnops.c | 81 |
8 files changed, 179 insertions, 169 deletions
diff --git a/usr/src/uts/common/fs/nfs/nfs3_vfsops.c b/usr/src/uts/common/fs/nfs/nfs3_vfsops.c index 4a3157ed0d..e02d3ab6bb 100644 --- a/usr/src/uts/common/fs/nfs/nfs3_vfsops.c +++ b/usr/src/uts/common/fs/nfs/nfs3_vfsops.c @@ -35,6 +35,7 @@ #include <sys/systm.h> #include <sys/cred.h> #include <sys/vfs.h> +#include <sys/vfs_opreg.h> #include <sys/vnode.h> #include <sys/pathname.h> #include <sys/sysmacros.h> @@ -155,15 +156,15 @@ int nfs3init(int fstyp, char *name) { static const fs_operation_def_t nfs3_vfsops_template[] = { - VFSNAME_MOUNT, nfs3_mount, - VFSNAME_UNMOUNT, nfs3_unmount, - VFSNAME_ROOT, nfs3_root, - VFSNAME_STATVFS, nfs3_statvfs, - VFSNAME_SYNC, (fs_generic_func_p) nfs3_sync, - VFSNAME_VGET, nfs3_vget, - VFSNAME_MOUNTROOT, nfs3_mountroot, - VFSNAME_FREEVFS, (fs_generic_func_p)nfs3_freevfs, - NULL, NULL + VFSNAME_MOUNT, { .vfs_mount = nfs3_mount }, + VFSNAME_UNMOUNT, { .vfs_unmount = nfs3_unmount }, + VFSNAME_ROOT, { .vfs_root = nfs3_root }, + VFSNAME_STATVFS, { .vfs_statvfs = nfs3_statvfs }, + VFSNAME_SYNC, { .vfs_sync = nfs3_sync }, + VFSNAME_VGET, { .vfs_vget = nfs3_vget }, + VFSNAME_MOUNTROOT, { .vfs_mountroot = nfs3_mountroot }, + VFSNAME_FREEVFS, { .vfs_freevfs = nfs3_freevfs }, + NULL, NULL }; int error; diff --git a/usr/src/uts/common/fs/nfs/nfs3_vnops.c b/usr/src/uts/common/fs/nfs/nfs3_vnops.c index 3b54de5ea7..7a9355b4a4 100644 --- a/usr/src/uts/common/fs/nfs/nfs3_vnops.c +++ b/usr/src/uts/common/fs/nfs/nfs3_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. */ @@ -37,6 +37,7 @@ #include <sys/time.h> #include <sys/vnode.h> #include <sys/vfs.h> +#include <sys/vfs_opreg.h> #include <sys/file.h> #include <sys/filio.h> #include <sys/uio.h> @@ -216,46 +217,47 @@ static int nfs3_shrlock(vnode_t *, int, struct shrlock *, int, cred_t *); struct vnodeops *nfs3_vnodeops; const fs_operation_def_t nfs3_vnodeops_template[] = { - VOPNAME_OPEN, nfs3_open, - VOPNAME_CLOSE, nfs3_close, - VOPNAME_READ, nfs3_read, - VOPNAME_WRITE, nfs3_write, - VOPNAME_IOCTL, nfs3_ioctl, - VOPNAME_GETATTR, nfs3_getattr, - VOPNAME_SETATTR, nfs3_setattr, - VOPNAME_ACCESS, nfs3_access, - VOPNAME_LOOKUP, nfs3_lookup, - VOPNAME_CREATE, nfs3_create, - VOPNAME_REMOVE, nfs3_remove, - VOPNAME_LINK, nfs3_link, - VOPNAME_RENAME, nfs3_rename, - VOPNAME_MKDIR, nfs3_mkdir, - VOPNAME_RMDIR, nfs3_rmdir, - VOPNAME_READDIR, nfs3_readdir, - VOPNAME_SYMLINK, nfs3_symlink, - VOPNAME_READLINK, nfs3_readlink, - VOPNAME_FSYNC, nfs3_fsync, - VOPNAME_INACTIVE, (fs_generic_func_p) nfs3_inactive, - VOPNAME_FID, nfs3_fid, - VOPNAME_RWLOCK, nfs3_rwlock, - VOPNAME_RWUNLOCK, (fs_generic_func_p) nfs3_rwunlock, - VOPNAME_SEEK, nfs3_seek, - VOPNAME_FRLOCK, nfs3_frlock, - VOPNAME_SPACE, nfs3_space, - VOPNAME_REALVP, nfs3_realvp, - VOPNAME_GETPAGE, nfs3_getpage, - VOPNAME_PUTPAGE, nfs3_putpage, - VOPNAME_MAP, (fs_generic_func_p) nfs3_map, - VOPNAME_ADDMAP, (fs_generic_func_p) nfs3_addmap, - VOPNAME_DELMAP, nfs3_delmap, - VOPNAME_DUMP, nfs_dump, /* there is no separate nfs3_dump */ - VOPNAME_PATHCONF, nfs3_pathconf, - VOPNAME_PAGEIO, nfs3_pageio, - VOPNAME_DISPOSE, (fs_generic_func_p) nfs3_dispose, - VOPNAME_SETSECATTR, nfs3_setsecattr, - VOPNAME_GETSECATTR, nfs3_getsecattr, - VOPNAME_SHRLOCK, nfs3_shrlock, - NULL, NULL + VOPNAME_OPEN, { .vop_open = nfs3_open }, + VOPNAME_CLOSE, { .vop_close = nfs3_close }, + VOPNAME_READ, { .vop_read = nfs3_read }, + VOPNAME_WRITE, { .vop_write = nfs3_write }, + VOPNAME_IOCTL, { .vop_ioctl = nfs3_ioctl }, + VOPNAME_GETATTR, { .vop_getattr = nfs3_getattr }, + VOPNAME_SETATTR, { .vop_setattr = nfs3_setattr }, + VOPNAME_ACCESS, { .vop_access = nfs3_access }, + VOPNAME_LOOKUP, { .vop_lookup = nfs3_lookup }, + VOPNAME_CREATE, { .vop_create = nfs3_create }, + VOPNAME_REMOVE, { .vop_remove = nfs3_remove }, + VOPNAME_LINK, { .vop_link = nfs3_link }, + VOPNAME_RENAME, { .vop_rename = nfs3_rename }, + VOPNAME_MKDIR, { .vop_mkdir = nfs3_mkdir }, + VOPNAME_RMDIR, { .vop_rmdir = nfs3_rmdir }, + VOPNAME_READDIR, { .vop_readdir = nfs3_readdir }, + VOPNAME_SYMLINK, { .vop_symlink = nfs3_symlink }, + VOPNAME_READLINK, { .vop_readlink = nfs3_readlink }, + VOPNAME_FSYNC, { .vop_fsync = nfs3_fsync }, + VOPNAME_INACTIVE, { .vop_inactive = nfs3_inactive }, + VOPNAME_FID, { .vop_fid = nfs3_fid }, + VOPNAME_RWLOCK, { .vop_rwlock = nfs3_rwlock }, + VOPNAME_RWUNLOCK, { .vop_rwunlock = nfs3_rwunlock }, + VOPNAME_SEEK, { .vop_seek = nfs3_seek }, + VOPNAME_FRLOCK, { .vop_frlock = nfs3_frlock }, + VOPNAME_SPACE, { .vop_space = nfs3_space }, + VOPNAME_REALVP, { .vop_realvp = nfs3_realvp }, + VOPNAME_GETPAGE, { .vop_getpage = nfs3_getpage }, + VOPNAME_PUTPAGE, { .vop_putpage = nfs3_putpage }, + VOPNAME_MAP, { .vop_map = nfs3_map }, + VOPNAME_ADDMAP, { .vop_addmap = nfs3_addmap }, + VOPNAME_DELMAP, { .vop_delmap = nfs3_delmap }, + /* no separate nfs3_dump */ + VOPNAME_DUMP, { .vop_dump = nfs_dump }, + VOPNAME_PATHCONF, { .vop_pathconf = nfs3_pathconf }, + VOPNAME_PAGEIO, { .vop_pageio = nfs3_pageio }, + VOPNAME_DISPOSE, { .vop_dispose = nfs3_dispose }, + VOPNAME_SETSECATTR, { .vop_setsecattr = nfs3_setsecattr }, + VOPNAME_GETSECATTR, { .vop_getsecattr = nfs3_getsecattr }, + VOPNAME_SHRLOCK, { .vop_shrlock = nfs3_shrlock }, + NULL, NULL }; /* diff --git a/usr/src/uts/common/fs/nfs/nfs4_srv.c b/usr/src/uts/common/fs/nfs/nfs4_srv.c index cd741c18c0..fd0ebe6f8e 100644 --- a/usr/src/uts/common/fs/nfs/nfs4_srv.c +++ b/usr/src/uts/common/fs/nfs/nfs4_srv.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. */ @@ -36,6 +36,7 @@ #include <sys/cred.h> #include <sys/buf.h> #include <sys/vfs.h> +#include <sys/vfs_opreg.h> #include <sys/vnode.h> #include <sys/uio.h> #include <sys/errno.h> @@ -475,25 +476,25 @@ extern size_t strlcpy(char *dst, const char *src, size_t dstsize); #define nextdp(dp) ((struct dirent64 *)((char *)(dp) + (dp)->d_reclen)) static const fs_operation_def_t nfs4_rd_deleg_tmpl[] = { - VOPNAME_OPEN, deleg_rdopen, - VOPNAME_WRITE, deleg_write, - VOPNAME_SETATTR, deleg_setattr, - VOPNAME_RWLOCK, deleg_rd_rwlock, - VOPNAME_SPACE, deleg_space, - VOPNAME_SETSECATTR, deleg_setsecattr, - VOPNAME_VNEVENT, deleg_vnevent, - NULL, NULL + VOPNAME_OPEN, { .femop_open = deleg_rdopen }, + VOPNAME_WRITE, { .femop_write = deleg_write }, + VOPNAME_SETATTR, { .femop_setattr = deleg_setattr }, + VOPNAME_RWLOCK, { .femop_rwlock = deleg_rd_rwlock }, + VOPNAME_SPACE, { .femop_space = deleg_space }, + VOPNAME_SETSECATTR, { .femop_setsecattr = deleg_setsecattr }, + VOPNAME_VNEVENT, { .femop_vnevent = deleg_vnevent }, + NULL, NULL }; static const fs_operation_def_t nfs4_wr_deleg_tmpl[] = { - VOPNAME_OPEN, deleg_wropen, - VOPNAME_READ, deleg_read, - VOPNAME_WRITE, deleg_write, - VOPNAME_SETATTR, deleg_setattr, - VOPNAME_RWLOCK, deleg_wr_rwlock, - VOPNAME_SPACE, deleg_space, - VOPNAME_SETSECATTR, deleg_setsecattr, - VOPNAME_VNEVENT, deleg_vnevent, - NULL, NULL + VOPNAME_OPEN, { .femop_open = deleg_wropen }, + VOPNAME_READ, { .femop_read = deleg_read }, + VOPNAME_WRITE, { .femop_write = deleg_write }, + VOPNAME_SETATTR, { .femop_setattr = deleg_setattr }, + VOPNAME_RWLOCK, { .femop_rwlock = deleg_wr_rwlock }, + VOPNAME_SPACE, { .femop_space = deleg_space }, + VOPNAME_SETSECATTR, { .femop_setsecattr = deleg_setsecattr }, + VOPNAME_VNEVENT, { .femop_vnevent = deleg_vnevent }, + NULL, NULL }; int diff --git a/usr/src/uts/common/fs/nfs/nfs4_vfsops.c b/usr/src/uts/common/fs/nfs/nfs4_vfsops.c index 4bc1e88d5f..4f6719117f 100644 --- a/usr/src/uts/common/fs/nfs/nfs4_vfsops.c +++ b/usr/src/uts/common/fs/nfs/nfs4_vfsops.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. */ @@ -35,6 +35,7 @@ #include <sys/systm.h> #include <sys/cred.h> #include <sys/vfs.h> +#include <sys/vfs_opreg.h> #include <sys/vnode.h> #include <sys/pathname.h> #include <sys/sysmacros.h> @@ -175,15 +176,15 @@ int nfs4init(int fstyp, char *name) { static const fs_operation_def_t nfs4_vfsops_template[] = { - VFSNAME_MOUNT, nfs4_mount, - VFSNAME_UNMOUNT, nfs4_unmount, - VFSNAME_ROOT, nfs4_root, - VFSNAME_STATVFS, nfs4_statvfs, - VFSNAME_SYNC, (fs_generic_func_p) nfs4_sync, - VFSNAME_VGET, nfs4_vget, - VFSNAME_MOUNTROOT, nfs4_mountroot, - VFSNAME_FREEVFS, (fs_generic_func_p)nfs4_freevfs, - NULL, NULL + VFSNAME_MOUNT, { .vfs_mount = nfs4_mount }, + VFSNAME_UNMOUNT, { .vfs_unmount = nfs4_unmount }, + VFSNAME_ROOT, { .vfs_root = nfs4_root }, + VFSNAME_STATVFS, { .vfs_statvfs = nfs4_statvfs }, + VFSNAME_SYNC, { .vfs_sync = nfs4_sync }, + VFSNAME_VGET, { .vfs_vget = nfs4_vget }, + VFSNAME_MOUNTROOT, { .vfs_mountroot = nfs4_mountroot }, + VFSNAME_FREEVFS, { .vfs_freevfs = nfs4_freevfs }, + NULL, NULL }; int error; diff --git a/usr/src/uts/common/fs/nfs/nfs4_vnops.c b/usr/src/uts/common/fs/nfs/nfs4_vnops.c index ba1155d523..36786c3514 100644 --- a/usr/src/uts/common/fs/nfs/nfs4_vnops.c +++ b/usr/src/uts/common/fs/nfs/nfs4_vnops.c @@ -37,6 +37,7 @@ #include <sys/time.h> #include <sys/vnode.h> #include <sys/vfs.h> +#include <sys/vfs_opreg.h> #include <sys/file.h> #include <sys/filio.h> #include <sys/uio.h> @@ -363,46 +364,47 @@ static int nfs4_pathconf_disable_cache = 0; struct vnodeops *nfs4_vnodeops; const fs_operation_def_t nfs4_vnodeops_template[] = { - VOPNAME_OPEN, nfs4_open, - VOPNAME_CLOSE, nfs4_close, - VOPNAME_READ, nfs4_read, - VOPNAME_WRITE, nfs4_write, - VOPNAME_IOCTL, nfs4_ioctl, - VOPNAME_GETATTR, nfs4_getattr, - VOPNAME_SETATTR, nfs4_setattr, - VOPNAME_ACCESS, nfs4_access, - VOPNAME_LOOKUP, nfs4_lookup, - VOPNAME_CREATE, nfs4_create, - VOPNAME_REMOVE, nfs4_remove, - VOPNAME_LINK, nfs4_link, - VOPNAME_RENAME, nfs4_rename, - VOPNAME_MKDIR, nfs4_mkdir, - VOPNAME_RMDIR, nfs4_rmdir, - VOPNAME_READDIR, nfs4_readdir, - VOPNAME_SYMLINK, nfs4_symlink, - VOPNAME_READLINK, nfs4_readlink, - VOPNAME_FSYNC, nfs4_fsync, - VOPNAME_INACTIVE, (fs_generic_func_p) nfs4_inactive, - VOPNAME_FID, nfs4_fid, - VOPNAME_RWLOCK, nfs4_rwlock, - VOPNAME_RWUNLOCK, (fs_generic_func_p) nfs4_rwunlock, - VOPNAME_SEEK, nfs4_seek, - VOPNAME_FRLOCK, nfs4_frlock, - VOPNAME_SPACE, nfs4_space, - VOPNAME_REALVP, nfs4_realvp, - VOPNAME_GETPAGE, nfs4_getpage, - VOPNAME_PUTPAGE, nfs4_putpage, - VOPNAME_MAP, (fs_generic_func_p) nfs4_map, - VOPNAME_ADDMAP, (fs_generic_func_p) nfs4_addmap, - VOPNAME_DELMAP, nfs4_delmap, - VOPNAME_DUMP, nfs_dump, /* there is no separate nfs4_dump */ - VOPNAME_PATHCONF, nfs4_pathconf, - VOPNAME_PAGEIO, nfs4_pageio, - VOPNAME_DISPOSE, (fs_generic_func_p) nfs4_dispose, - VOPNAME_SETSECATTR, nfs4_setsecattr, - VOPNAME_GETSECATTR, nfs4_getsecattr, - VOPNAME_SHRLOCK, nfs4_shrlock, - NULL, NULL + VOPNAME_OPEN, { .vop_open = nfs4_open }, + VOPNAME_CLOSE, { .vop_close = nfs4_close }, + VOPNAME_READ, { .vop_read = nfs4_read }, + VOPNAME_WRITE, { .vop_write = nfs4_write }, + VOPNAME_IOCTL, { .vop_ioctl = nfs4_ioctl }, + VOPNAME_GETATTR, { .vop_getattr = nfs4_getattr }, + VOPNAME_SETATTR, { .vop_setattr = nfs4_setattr }, + VOPNAME_ACCESS, { .vop_access = nfs4_access }, + VOPNAME_LOOKUP, { .vop_lookup = nfs4_lookup }, + VOPNAME_CREATE, { .vop_create = nfs4_create }, + VOPNAME_REMOVE, { .vop_remove = nfs4_remove }, + VOPNAME_LINK, { .vop_link = nfs4_link }, + VOPNAME_RENAME, { .vop_rename = nfs4_rename }, + VOPNAME_MKDIR, { .vop_mkdir = nfs4_mkdir }, + VOPNAME_RMDIR, { .vop_rmdir = nfs4_rmdir }, + VOPNAME_READDIR, { .vop_readdir = nfs4_readdir }, + VOPNAME_SYMLINK, { .vop_symlink = nfs4_symlink }, + VOPNAME_READLINK, { .vop_readlink = nfs4_readlink }, + VOPNAME_FSYNC, { .vop_fsync = nfs4_fsync }, + VOPNAME_INACTIVE, { .vop_inactive = nfs4_inactive }, + VOPNAME_FID, { .vop_fid = nfs4_fid }, + VOPNAME_RWLOCK, { .vop_rwlock = nfs4_rwlock }, + VOPNAME_RWUNLOCK, { .vop_rwunlock = nfs4_rwunlock }, + VOPNAME_SEEK, { .vop_seek = nfs4_seek }, + VOPNAME_FRLOCK, { .vop_frlock = nfs4_frlock }, + VOPNAME_SPACE, { .vop_space = nfs4_space }, + VOPNAME_REALVP, { .vop_realvp = nfs4_realvp }, + VOPNAME_GETPAGE, { .vop_getpage = nfs4_getpage }, + VOPNAME_PUTPAGE, { .vop_putpage = nfs4_putpage }, + VOPNAME_MAP, { .vop_map = nfs4_map }, + VOPNAME_ADDMAP, { .vop_addmap = nfs4_addmap }, + VOPNAME_DELMAP, { .vop_delmap = nfs4_delmap }, + /* no separate nfs4_dump */ + VOPNAME_DUMP, { .vop_dump = nfs_dump }, + VOPNAME_PATHCONF, { .vop_pathconf = nfs4_pathconf }, + VOPNAME_PAGEIO, { .vop_pageio = nfs4_pageio }, + VOPNAME_DISPOSE, { .vop_dispose = nfs4_dispose }, + VOPNAME_SETSECATTR, { .vop_setsecattr = nfs4_setsecattr }, + VOPNAME_GETSECATTR, { .vop_getsecattr = nfs4_getsecattr }, + VOPNAME_SHRLOCK, { .vop_shrlock = nfs4_shrlock }, + NULL, NULL }; /* diff --git a/usr/src/uts/common/fs/nfs/nfs_common.c b/usr/src/uts/common/fs/nfs/nfs_common.c index 3d3eecd82a..ded7c5075c 100644 --- a/usr/src/uts/common/fs/nfs/nfs_common.c +++ b/usr/src/uts/common/fs/nfs/nfs_common.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. */ @@ -38,6 +38,7 @@ #include <sys/time.h> #include <sys/utsname.h> #include <sys/vfs.h> +#include <sys/vfs_opreg.h> #include <sys/vnode.h> #include <sys/pathname.h> #include <sys/bootconf.h> @@ -336,7 +337,7 @@ static int nfsdyninit(int fstyp, char *name) { static const fs_operation_def_t nfsdyn_vfsops_template[] = { - VFSNAME_MOUNTROOT, nfsdyn_mountroot, + VFSNAME_MOUNTROOT, { .vfs_mountroot = nfsdyn_mountroot }, NULL, NULL }; int error; diff --git a/usr/src/uts/common/fs/nfs/nfs_vfsops.c b/usr/src/uts/common/fs/nfs/nfs_vfsops.c index 5b16b20228..e6c3a4f7c4 100644 --- a/usr/src/uts/common/fs/nfs/nfs_vfsops.c +++ b/usr/src/uts/common/fs/nfs/nfs_vfsops.c @@ -33,6 +33,7 @@ #include <sys/systm.h> #include <sys/cred.h> #include <sys/vfs.h> +#include <sys/vfs_opreg.h> #include <sys/vnode.h> #include <sys/pathname.h> #include <sys/sysmacros.h> @@ -157,15 +158,15 @@ int nfsinit(int fstyp, char *name) { static const fs_operation_def_t nfs_vfsops_template[] = { - VFSNAME_MOUNT, nfs_mount, - VFSNAME_UNMOUNT, nfs_unmount, - VFSNAME_ROOT, nfs_root, - VFSNAME_STATVFS, nfs_statvfs, - VFSNAME_SYNC, (fs_generic_func_p) nfs_sync, - VFSNAME_VGET, nfs_vget, - VFSNAME_MOUNTROOT, nfs_mountroot, - VFSNAME_FREEVFS, (fs_generic_func_p)nfs_freevfs, - NULL, NULL + VFSNAME_MOUNT, { .vfs_mount = nfs_mount }, + VFSNAME_UNMOUNT, { .vfs_unmount = nfs_unmount }, + VFSNAME_ROOT, { .vfs_root = nfs_root }, + VFSNAME_STATVFS, { .vfs_statvfs = nfs_statvfs }, + VFSNAME_SYNC, { .vfs_sync = nfs_sync }, + VFSNAME_VGET, { .vfs_vget = nfs_vget }, + VFSNAME_MOUNTROOT, { .vfs_mountroot = nfs_mountroot }, + VFSNAME_FREEVFS, { .vfs_freevfs = nfs_freevfs }, + NULL, NULL }; int error; diff --git a/usr/src/uts/common/fs/nfs/nfs_vnops.c b/usr/src/uts/common/fs/nfs/nfs_vnops.c index 583ce42473..5e587027d7 100644 --- a/usr/src/uts/common/fs/nfs/nfs_vnops.c +++ b/usr/src/uts/common/fs/nfs/nfs_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. * * Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T. @@ -35,6 +35,7 @@ #include <sys/time.h> #include <sys/vnode.h> #include <sys/vfs.h> +#include <sys/vfs_opreg.h> #include <sys/file.h> #include <sys/filio.h> #include <sys/uio.h> @@ -179,45 +180,45 @@ static int nfs_shrlock(vnode_t *, int, struct shrlock *, int, cred_t *); struct vnodeops *nfs_vnodeops; const fs_operation_def_t nfs_vnodeops_template[] = { - VOPNAME_OPEN, nfs_open, - VOPNAME_CLOSE, nfs_close, - VOPNAME_READ, nfs_read, - VOPNAME_WRITE, nfs_write, - VOPNAME_IOCTL, nfs_ioctl, - VOPNAME_GETATTR, nfs_getattr, - VOPNAME_SETATTR, nfs_setattr, - VOPNAME_ACCESS, nfs_access, - VOPNAME_LOOKUP, nfs_lookup, - VOPNAME_CREATE, nfs_create, - VOPNAME_REMOVE, nfs_remove, - VOPNAME_LINK, nfs_link, - VOPNAME_RENAME, nfs_rename, - VOPNAME_MKDIR, nfs_mkdir, - VOPNAME_RMDIR, nfs_rmdir, - VOPNAME_READDIR, nfs_readdir, - VOPNAME_SYMLINK, nfs_symlink, - VOPNAME_READLINK, nfs_readlink, - VOPNAME_FSYNC, nfs_fsync, - VOPNAME_INACTIVE, (fs_generic_func_p) nfs_inactive, - VOPNAME_FID, nfs_fid, - VOPNAME_RWLOCK, nfs_rwlock, - VOPNAME_RWUNLOCK, (fs_generic_func_p) nfs_rwunlock, - VOPNAME_SEEK, nfs_seek, - VOPNAME_FRLOCK, nfs_frlock, - VOPNAME_SPACE, nfs_space, - VOPNAME_REALVP, nfs_realvp, - VOPNAME_GETPAGE, nfs_getpage, - VOPNAME_PUTPAGE, nfs_putpage, - VOPNAME_MAP, (fs_generic_func_p) nfs_map, - VOPNAME_ADDMAP, (fs_generic_func_p) nfs_addmap, - VOPNAME_DELMAP, nfs_delmap, - VOPNAME_DUMP, nfs_dump, - VOPNAME_PATHCONF, nfs_pathconf, - VOPNAME_PAGEIO, nfs_pageio, - VOPNAME_SETSECATTR, nfs_setsecattr, - VOPNAME_GETSECATTR, nfs_getsecattr, - VOPNAME_SHRLOCK, nfs_shrlock, - NULL, NULL + VOPNAME_OPEN, { .vop_open = nfs_open }, + VOPNAME_CLOSE, { .vop_close = nfs_close }, + VOPNAME_READ, { .vop_read = nfs_read }, + VOPNAME_WRITE, { .vop_write = nfs_write }, + VOPNAME_IOCTL, { .vop_ioctl = nfs_ioctl }, + VOPNAME_GETATTR, { .vop_getattr = nfs_getattr }, + VOPNAME_SETATTR, { .vop_setattr = nfs_setattr }, + VOPNAME_ACCESS, { .vop_access = nfs_access }, + VOPNAME_LOOKUP, { .vop_lookup = nfs_lookup }, + VOPNAME_CREATE, { .vop_create = nfs_create }, + VOPNAME_REMOVE, { .vop_remove = nfs_remove }, + VOPNAME_LINK, { .vop_link = nfs_link }, + VOPNAME_RENAME, { .vop_rename = nfs_rename }, + VOPNAME_MKDIR, { .vop_mkdir = nfs_mkdir }, + VOPNAME_RMDIR, { .vop_rmdir = nfs_rmdir }, + VOPNAME_READDIR, { .vop_readdir = nfs_readdir }, + VOPNAME_SYMLINK, { .vop_symlink = nfs_symlink }, + VOPNAME_READLINK, { .vop_readlink = nfs_readlink }, + VOPNAME_FSYNC, { .vop_fsync = nfs_fsync }, + VOPNAME_INACTIVE, { .vop_inactive = nfs_inactive }, + VOPNAME_FID, { .vop_fid = nfs_fid }, + VOPNAME_RWLOCK, { .vop_rwlock = nfs_rwlock }, + VOPNAME_RWUNLOCK, { .vop_rwunlock = nfs_rwunlock }, + VOPNAME_SEEK, { .vop_seek = nfs_seek }, + VOPNAME_FRLOCK, { .vop_frlock = nfs_frlock }, + VOPNAME_SPACE, { .vop_space = nfs_space }, + VOPNAME_REALVP, { .vop_realvp = nfs_realvp }, + VOPNAME_GETPAGE, { .vop_getpage = nfs_getpage }, + VOPNAME_PUTPAGE, { .vop_putpage = nfs_putpage }, + VOPNAME_MAP, { .vop_map = nfs_map }, + VOPNAME_ADDMAP, { .vop_addmap = nfs_addmap }, + VOPNAME_DELMAP, { .vop_delmap = nfs_delmap }, + VOPNAME_DUMP, { .vop_dump = nfs_dump }, + VOPNAME_PATHCONF, { .vop_pathconf = nfs_pathconf }, + VOPNAME_PAGEIO, { .vop_pageio = nfs_pageio }, + VOPNAME_SETSECATTR, { .vop_setsecattr = nfs_setsecattr }, + VOPNAME_GETSECATTR, { .vop_getsecattr = nfs_getsecattr }, + VOPNAME_SHRLOCK, { .vop_shrlock = nfs_shrlock }, + NULL, NULL }; /* |