From ef6a1cf7b950b2411e8b813be81ab4a7e8029038 Mon Sep 17 00:00:00 2001 From: Dale Ghent Date: Thu, 1 Nov 2007 16:57:37 +0000 Subject: [PATCH] DEVEL15-solaris-nevada-update-20071101 FIXES 75896 update for current solaris nevada (cherry picked from commit 7a0df48baf351eb2aaa2b6c4da0054d111facdb9) --- src/afs/SOLARIS/osi_vfsops.c | 21 +++++++++++-- src/afs/SOLARIS/osi_vnodeops.c | 54 +++++++++++++++++++++++++++++++++- 2 files changed, 72 insertions(+), 3 deletions(-) diff --git a/src/afs/SOLARIS/osi_vfsops.c b/src/afs/SOLARIS/osi_vfsops.c index e17d6d6c5..482e210c3 100644 --- a/src/afs/SOLARIS/osi_vfsops.c +++ b/src/afs/SOLARIS/osi_vfsops.c @@ -21,6 +21,9 @@ RCSID #include "afs/afs_stats.h" /* statistics stuff */ #include "h/modctl.h" #include "h/syscall.h" +#if defined(AFS_SUN511_ENV) +#include +#endif #include @@ -245,7 +248,21 @@ afs_swapvp(struct vfs *afsp, struct vnode **avpp, char *nm) } -#ifdef AFS_SUN510_ENV +#if defined(AFS_SUN511_ENV) +/* The following list must always be NULL-terminated */ +static const fs_operation_def_t afs_vfsops_template[] = { + VFSNAME_MOUNT, { .vfs_mount = afs_mount }, + VFSNAME_UNMOUNT, { .vfs_unmount = afs_unmount }, + VFSNAME_ROOT, { .vfs_root = afs_root }, + VFSNAME_STATVFS, { .vfs_statvfs = afs_statvfs }, + VFSNAME_SYNC, { .vfs_sync = afs_sync }, + VFSNAME_VGET, { .vfs_vget = afs_vget }, + VFSNAME_MOUNTROOT, { .vfs_mountroot = afs_mountroot }, + VFSNAME_FREEVFS, { .vfs_freevfs = fs_freevfs }, + NULL, NULL +}; +struct vfsops *afs_vfsopsp; +#elif defined(AFS_SUN510_ENV) /* The following list must always be NULL-terminated */ const fs_operation_def_t afs_vfsops_template[] = { VFSNAME_MOUNT, afs_mount, @@ -256,7 +273,7 @@ const fs_operation_def_t afs_vfsops_template[] = { VFSNAME_VGET, afs_vget, VFSNAME_MOUNTROOT, afs_mountroot, VFSNAME_FREEVFS, fs_freevfs, - NULL, NULL + NULL, NULL }; struct vfsops *afs_vfsopsp; #else diff --git a/src/afs/SOLARIS/osi_vnodeops.c b/src/afs/SOLARIS/osi_vnodeops.c index 05b027385..2c636c204 100644 --- a/src/afs/SOLARIS/osi_vnodeops.c +++ b/src/afs/SOLARIS/osi_vnodeops.c @@ -47,6 +47,9 @@ RCSID #include #include #include +#if defined(AFS_SUN511_ENV) +#include +#endif #include #include #include @@ -1441,7 +1444,56 @@ extern int gafs_fid(), gafs_readlink(), fs_setfl(), afs_pathconf(); extern int afs_lockctl(); extern void gafs_inactive(); -#ifdef AFS_SUN510_ENV +#if defined(AFS_SUN511_ENV) +/* The following list must always be NULL-terminated */ +const fs_operation_def_t afs_vnodeops_template[] = { + VOPNAME_OPEN, { .vop_open = gafs_open }, + VOPNAME_CLOSE, { .vop_close = gafs_close }, + VOPNAME_READ, { .vop_read = afs_vmread }, + VOPNAME_WRITE, { .vop_write = afs_vmwrite }, + VOPNAME_IOCTL, { .vop_ioctl = afs_ioctl }, + VOPNAME_SETFL, { .vop_setfl = fs_setfl }, + VOPNAME_GETATTR, { .vop_getattr = gafs_getattr }, + VOPNAME_SETATTR, { .vop_setattr = gafs_setattr }, + VOPNAME_ACCESS, { .vop_access = gafs_access }, + VOPNAME_LOOKUP, { .vop_lookup = gafs_lookup }, + VOPNAME_CREATE, { .vop_create = gafs_create }, + VOPNAME_REMOVE, { .vop_remove = gafs_remove }, + VOPNAME_LINK, { .vop_link = gafs_link }, + VOPNAME_RENAME, { .vop_rename = gafs_rename }, + VOPNAME_MKDIR, { .vop_mkdir = gafs_mkdir }, + VOPNAME_RMDIR, { .vop_rmdir = gafs_rmdir }, + VOPNAME_READDIR, { .vop_readdir = gafs_readdir }, + VOPNAME_SYMLINK, { .vop_symlink = gafs_symlink }, + VOPNAME_READLINK, { .vop_readlink = gafs_readlink }, + VOPNAME_FSYNC, { .vop_fsync = gafs_fsync }, + VOPNAME_INACTIVE, { .vop_inactive = gafs_inactive }, + VOPNAME_FID, { .vop_fid = gafs_fid }, + VOPNAME_RWLOCK, { .vop_rwlock = afs_rwlock }, + VOPNAME_RWUNLOCK, { .vop_rwunlock = afs_rwunlock }, + VOPNAME_SEEK, { .vop_seek = afs_seek }, + VOPNAME_CMP, { .vop_cmp = afs_cmp }, + VOPNAME_FRLOCK, { .vop_frlock = afs_frlock }, + VOPNAME_SPACE, { .vop_space = afs_space }, + VOPNAME_REALVP, { .vop_realvp = afs_realvp }, + VOPNAME_GETPAGE, { .vop_getpage = afs_getpage }, + VOPNAME_PUTPAGE, { .vop_putpage = afs_putpage }, + VOPNAME_MAP, { .vop_map = afs_map }, + VOPNAME_ADDMAP, { .vop_addmap = afs_addmap }, + VOPNAME_DELMAP, { .vop_delmap = afs_delmap }, + VOPNAME_POLL, { .vop_poll = fs_poll }, + VOPNAME_PATHCONF, { .vop_pathconf = afs_pathconf }, + VOPNAME_PAGEIO, { .vop_pageio = afs_pageio }, + VOPNAME_DUMP, { .vop_dump = afs_dump }, + VOPNAME_DUMPCTL, { .vop_dumpctl = afs_dumpctl }, + VOPNAME_DISPOSE, { .vop_dispose = afs_dispose }, + VOPNAME_GETSECATTR, { .vop_getsecattr = afs_getsecattr }, + VOPNAME_SETSECATTR, { .vop_setsecattr = afs_setsecattr }, + VOPNAME_SHRLOCK, { .vop_shrlock = fs_shrlock }, + NULL, NULL +}; +vnodeops_t *afs_ops; +#elif defined(AFS_SUN510_ENV) /* The following list must always be NULL-terminated */ const fs_operation_def_t afs_vnodeops_template[] = { VOPNAME_OPEN, gafs_open, -- 2.39.5