From 42671b508b83a8aacf7f7e09540047dbed054175 Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Fri, 4 Nov 2005 20:24:45 +0000 Subject: [PATCH] Merge with the upstream 1.4.0 release. --- NEWS | 35 +++++- configure | 2 +- configure-libafs | 2 +- configure-libafs.in | 2 +- configure.in | 2 +- debian/changelog | 4 +- debian/rules | 8 +- src/afs/HPUX/osi_machdep.h | 2 + src/afs/SOLARIS/osi_vnodeops.c | 20 +++- src/afs/VNOPS/afs_vnop_lookup.c | 2 +- src/afs/afs_nfsdisp.c | 112 +++++++++++++++++- src/afs/afs_pioctl.c | 15 ++- src/afsd/afsd.c | 6 +- src/config/NTMakefile.amd64_w2k | 6 +- src/config/NTMakefile.i386_nt40 | 6 +- src/config/NTMakefile.i386_w2k | 6 +- src/libadmin/vos/afs_vosAdmin.c | 2 +- src/libadmin/vos/vsprocs.c | 2 +- src/libafs/afs.ppc_darwin_70.plist.in | 4 +- src/libafs/afs.ppc_darwin_80.plist.in | 4 +- src/libafsrpc/afsrpc.def | 10 +- .../HP-UX/files/usr/vice/etc/CellServDB | 57 +++++---- src/rx/LINUX/rx_kmutex.h | 4 +- src/rx/rx.c | 26 ++-- src/rxgen/rpc_hout.c | 8 +- src/rxgen/rpc_parse.c | 5 +- src/rxgen/rpc_parse.h | 1 + src/vol/partition.c | 6 +- 28 files changed, 267 insertions(+), 92 deletions(-) diff --git a/NEWS b/NEWS index 161998b4b..6d7dd6daa 100644 --- a/NEWS +++ b/NEWS @@ -1,12 +1,41 @@ OpenAFS News -- history of user-visible changes. -* Changes incorporated in OpenAFS 1.3 +* Changes incorporated in OpenAFS 1.4.0 + +** Addition of pthreading support in volserver. + +** Threading optimization of RX libraries. + +** Windows 95/98 client desupported. + +** Digital UNIX/Tru64 desupported. + +** Windows XP/2003 client includes persistent (across boots) cache support. + +** Windows XP/2003 now supports a cache of up to 1.2gb. + +** Windows XP/2003 has various improvements to the included GUI and command + line tools. + +** Windows XP/2003 now supports AFS UNC paths. + +** MacOS X (10.3) and Linux use system inodes instead of a private inode pool. + +** Files larger than 2gb are supported in Unix clients, and in servers if the + --enable-largefile-fileserver switch is enabled at configure time. + +** Obsolete and insecure auxiliary network daemons (rcp, rsh, ftpd et al) + have been removed. + +** Fileserver optimizations have been made to improve timeout and callback + breaking behavior to inaccessible clients or clients whose address has + changed. + +** Kerberos 5 support is integrated. ** -nosettime is now the default for afsd. Use "-settime" to get the old behavior. -** OpenBSD is now supported. - ** Mountpoint directory information is now only faked for cross-cell mountpoints when using the -fakestat flag (e.g. for the directories under /afs, but not for most other volumes mounted inside the cell). diff --git a/configure b/configure index 3cd944a53..42e76418f 100755 --- a/configure +++ b/configure @@ -757,7 +757,7 @@ fi PACKAGE=openafs -VERSION=1.4.0-rc6 +VERSION=1.4.0 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } diff --git a/configure-libafs b/configure-libafs index b95ee17e4..552d6e74f 100755 --- a/configure-libafs +++ b/configure-libafs @@ -757,7 +757,7 @@ fi PACKAGE=openafs-libafs -VERSION=1.4.0-rc6 +VERSION=1.4.0 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } diff --git a/configure-libafs.in b/configure-libafs.in index ed7b0d0b5..9d58fd1de 100644 --- a/configure-libafs.in +++ b/configure-libafs.in @@ -1,5 +1,5 @@ AC_INIT(src/libafs/Makefile.common.in) -AM_INIT_AUTOMAKE(openafs-libafs,1.4.0-rc6) +AM_INIT_AUTOMAKE(openafs-libafs,1.4.0) AC_CONFIG_HEADER(src/config/afsconfig.h) define(OPENAFS_CONFIGURE_LIBAFS) diff --git a/configure.in b/configure.in index e85e7555f..5b955770d 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ AC_INIT(src/config/stds.h) -AM_INIT_AUTOMAKE(openafs,1.4.0-rc6) +AM_INIT_AUTOMAKE(openafs,1.4.0) AC_CONFIG_HEADER(src/config/afsconfig.h) AC_PROG_CC diff --git a/debian/changelog b/debian/changelog index e58ab3585..3daaf0eb9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -openafs (1.4rc6-1) UNRELEASED; urgency=low +openafs (1.4.0-1) UNRELEASED; urgency=low * New upstream version. - Builds correctly with 2.6.13 kernels and software suspend. @@ -8,7 +8,7 @@ openafs (1.4rc6-1) UNRELEASED; urgency=low * Add a watch file. * Remove the unused and uninstalled make-links script. - -- Sun, 9 Oct 2005 15:17:36 -0400 + -- Russ Allbery Fri, 4 Nov 2005 12:24:11 -0800 openafs (1.4rc4-1) unstable; urgency=low diff --git a/debian/rules b/debian/rules index 73f6db59f..757d842ed 100755 --- a/debian/rules +++ b/debian/rules @@ -49,8 +49,8 @@ DOC_PACKAGES = libpam-openafs-kaserver openafs-dbserver openafs-fileserver \ # These variable is used only by get-orig-source, which will normally only be # run by maintainers. -VERSION = 1.4.0-rc6 -UPSTREAM = /afs/grand.central.org/software/openafs/candidate/$(VERSION) +VERSION = 1.4.0 +UPSTREAM = /afs/grand.central.org/software/openafs/$(VERSION) # Download the upstream source and do the repackaging that we have to do for # DFSG reasons. This assumes AFS is mounted, as it's generally only used by @@ -152,7 +152,7 @@ binary-indep: DH_OPTIONS=-i binary-indep: build install binary-source dh_testdir dh_testroot - dh_installchangelogs + dh_installchangelogs dh_installdocs dh_link dh_compress @@ -168,7 +168,7 @@ binary-arch: DH_OPTIONS=-a binary-arch: build install dh_testdir dh_testroot - dh_installchangelogs + dh_installchangelogs dh_installdocs dh_installdebconf DH_OPTIONS= dh_installinit -popenafs-client -r -- defaults 25 18 diff --git a/src/afs/HPUX/osi_machdep.h b/src/afs/HPUX/osi_machdep.h index d66f068ef..f16c7bf3d 100644 --- a/src/afs/HPUX/osi_machdep.h +++ b/src/afs/HPUX/osi_machdep.h @@ -109,7 +109,9 @@ int afs_osi_Wakeup(void *event); #if !defined(AFS_HPUX110_ENV) extern caddr_t kmem_alloc(); #endif +#if defined(AFS_HPUX1111_ENV) #include /* for kt_cred() */ +#endif /* Expected to be available as a patch from HP */ /* See section D of the top level README for details */ diff --git a/src/afs/SOLARIS/osi_vnodeops.c b/src/afs/SOLARIS/osi_vnodeops.c index e38baefc8..4f598383e 100644 --- a/src/afs/SOLARIS/osi_vnodeops.c +++ b/src/afs/SOLARIS/osi_vnodeops.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_vnodeops.c,v 1.20.2.3 2005/09/29 20:35:45 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/SOLARIS/osi_vnodeops.c,v 1.20.2.3.2.1 2005/10/12 06:06:47 shadow Exp $"); /* * SOLARIS/osi_vnodeops.c @@ -1673,6 +1673,24 @@ gafs_rename(aodp, aname1, andp, aname2, acred) AFS_GLOCK(); code = afs_rename(aodp, aname1, andp, aname2, acred); +#ifdef AFS_SUN510_ENV + if (code == 0) { + struct vcache *avcp = NULL; + + (void) afs_lookup(andp, aname2, &avcp, NULL, 0, NULL, acred); + if (avcp) { + struct vnode *vp = AFSTOV(avcp), *pvp = AFSTOV(andp); + + mutex_enter(&vp->v_lock); + kmem_free(vp->v_path, strlen(vp->v_path) + 1); + vp->v_path = NULL; + mutex_exit(&vp->v_lock); + VN_SETPATH(afs_globalVp, pvp, vp, aname2, strlen(aname2)); + + AFS_RELE(avcp); + } + } +#endif AFS_GUNLOCK(); return (code); } diff --git a/src/afs/VNOPS/afs_vnop_lookup.c b/src/afs/VNOPS/afs_vnop_lookup.c index 3692e21a9..326b7e77a 100644 --- a/src/afs/VNOPS/afs_vnop_lookup.c +++ b/src/afs/VNOPS/afs_vnop_lookup.c @@ -18,7 +18,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.10 2005/07/21 04:49:19 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/VNOPS/afs_vnop_lookup.c,v 1.50.2.10.2.2 2005/10/12 06:13:24 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #include "afsincludes.h" /* Afs-based standard headers */ diff --git a/src/afs/afs_nfsdisp.c b/src/afs/afs_nfsdisp.c index a90a41ab2..2e5075989 100644 --- a/src/afs/afs_nfsdisp.c +++ b/src/afs/afs_nfsdisp.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_nfsdisp.c,v 1.18.2.1 2004/11/09 17:18:18 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_nfsdisp.c,v 1.18.2.1.4.2 2005/10/13 18:27:32 shadow Exp $"); /* Ugly Ugly Ugly but precludes conflicting XDR macros; We want kernel xdr */ #define __XDR_INCLUDE__ @@ -63,8 +63,12 @@ struct afs_nfs2_resp { }; #ifndef ACL2_NPROC +#if defined(AFS_SUN510_ENV) +#define ACL2_NPROC 6 +#else #define ACL2_NPROC 5 #endif +#endif struct afs_nfs_disp_tbl afs_rfs_disp_tbl[RFS_NPROC]; struct afs_nfs_disp_tbl afs_acl_disp_tbl[ACL2_NPROC]; @@ -221,6 +225,14 @@ acl2_to_afs_call(int which, caddr_t * args, fhandle_t ** fhpp) fhp = &sargs->fh; break; } +#if defined(AFS_SUN510_ENV) + case ACLPROC2_GETXATTRDIR: + { + struct GETXATTRDIR2args *sargs = (struct GETXATTRDIR2args *)args; + fhp = &sargs->fh; + break; + } +#endif default: return NULL; } @@ -685,12 +697,34 @@ afs_acl2_access(char *args, char *xp, char *exp, char *rp, char *crp) return; } -struct afs_nfs_disp_tbl afs_acl_disp_tbl[5] = { +#if defined(AFS_SUN510_ENV) +void +afs_acl2_getxattrdir(char *args, char *xp, char *exp, char *rp, char *crp) +{ + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred *)crp; + call = + afs_nfs2_dispatcher(1, ACLPROC2_GETXATTRDIR, (char *)args, &exp, rp, crp); + if (call > 1) + afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else + (*afs_acl_disp_tbl[ACLPROC2_GETXATTRDIR].orig_proc) (args, xp, exp, rp, + crp); + curthread->t_cred = svcred; + return; +} +#endif + +struct afs_nfs_disp_tbl afs_acl_disp_tbl[ACL2_NPROC] = { {afs_nfs2_null}, {afs_acl2_getacl}, {afs_acl2_setacl}, {afs_acl2_getattr}, - {afs_acl2_access} + {afs_acl2_access}, +#if defined(AFS_SUN510_ENV) + {afs_acl2_getxattrdir} +#endif }; /* Munge the dispatch tables to link us in first */ @@ -719,8 +753,12 @@ afs_xlatorinit_v2(struct rfs_disp_tbl *_rfs_tbl, #endif #ifndef ACL3_NPROC +#if defined(AFS_SUN510_ENV) +#define ACL3_NPROC 4 +#else #define ACL3_NPROC 3 #endif +#endif struct afs_nfs_disp_tbl afs_rfs3_disp_tbl[RFS3_NPROC]; struct afs_nfs_disp_tbl afs_acl3_disp_tbl[ACL3_NPROC]; @@ -814,51 +852,84 @@ nfs3_to_afs_call(int which, caddr_t * args, nfs_fh3 ** fhpp, nfs_fh3 ** fh2pp) case NFSPROC3_CREATE: { CREATE3args *arg = (CREATE3args *) args; +#ifdef AFS_SUN58_ENV + fhp1 = (nfs_fh3 *) arg->where.dirp; +#else fhp1 = (nfs_fh3 *) & arg->where.dir; +#endif break; } case NFSPROC3_MKDIR: { MKDIR3args *arg = (MKDIR3args *) args; +#ifdef AFS_SUN58_ENV + fhp1 = (nfs_fh3 *) arg->where.dirp; +#else fhp1 = (nfs_fh3 *) & arg->where.dir; +#endif break; } case NFSPROC3_SYMLINK: { SYMLINK3args *arg = (SYMLINK3args *) args; +#ifdef AFS_SUN58_ENV + fhp1 = (nfs_fh3 *) arg->where.dirp; +#else fhp1 = (nfs_fh3 *) & arg->where.dir; +#endif break; } case NFSPROC3_MKNOD: { MKNOD3args *arg = (MKNOD3args *) args; +#ifdef AFS_SUN58_ENV + fhp1 = (nfs_fh3 *) arg->where.dirp; +#else fhp1 = (nfs_fh3 *) & arg->where.dir; +#endif break; } case NFSPROC3_REMOVE: { REMOVE3args *arg = (REMOVE3args *) args; +#ifdef AFS_SUN58_ENV + fhp1 = (nfs_fh3 *) arg->object.dirp; +#else fhp1 = (nfs_fh3 *) & arg->object.dir; +#endif break; } case NFSPROC3_RMDIR: { RMDIR3args *arg = (RMDIR3args *) args; +#ifdef AFS_SUN58_ENV + fhp1 = (nfs_fh3 *) arg->object.dirp; +#else fhp1 = (nfs_fh3 *) & arg->object.dir; +#endif break; } case NFSPROC3_RENAME: { RENAME3args *arg = (RENAME3args *) args; +#ifdef AFS_SUN58_ENV + fhp1 = (nfs_fh3 *) arg->from.dirp; + fhp2 = (nfs_fh3 *) arg->to.dirp; +#else fhp1 = (nfs_fh3 *) & arg->from.dir; fhp2 = (nfs_fh3 *) & arg->to.dir; +#endif break; } case NFSPROC3_LINK: { LINK3args *arg = (LINK3args *) args; fhp1 = (nfs_fh3 *) & arg->file; +#ifdef AFS_SUN58_ENV + fhp2 = (nfs_fh3 *) arg->link.dirp; +#else fhp2 = (nfs_fh3 *) & arg->link.dir; +#endif break; } case NFSPROC3_READDIR: @@ -933,6 +1004,14 @@ acl3_to_afs_call(int which, caddr_t * args, nfs_fh3 ** fhpp) fhp = &sargs->fh; break; } +#if defined(AFS_SUN510_ENV) + case ACLPROC3_GETXATTRDIR: + { + struct GETXATTRDIR3args *sargs = (struct GETXATTRDIR3args *)args; + fhp = &sargs->fh; + break; + } +#endif default: return NULL; } @@ -961,6 +1040,9 @@ afs_nfs3_dispatcher(int type, afs_int32 which, char *argp, return 2; sa = (struct sockaddr *)svc_getrpccaller(rp->rq_xprt)->buf; + if (sa == NULL) + return; + if (sa->sa_family == AF_INET) client = ((struct sockaddr_in *)sa)->sin_addr.s_addr; @@ -1518,10 +1600,32 @@ afs_acl3_setacl(char *args, char *xp, char *exp, char *rp, char *crp) return; } -struct afs_nfs_disp_tbl afs_acl3_disp_tbl[3] = { +#if defined(AFS_SUN510_ENV) +void +afs_acl3_getxattrdir(char *args, char *xp, char *exp, char *rp, char *crp) +{ + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred *)crp; + call = + afs_nfs3_dispatcher(1, ACLPROC3_GETXATTRDIR, (char *)args, &exp, rp, crp); + if (call > 1) + afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else + (*afs_acl3_disp_tbl[ACLPROC3_GETXATTRDIR].orig_proc) (args, xp, exp, rp, + crp); + curthread->t_cred = svcred; + return; +} +#endif + +struct afs_nfs_disp_tbl afs_acl3_disp_tbl[ACL3_NPROC] = { {afs_nfs2_null}, {afs_acl3_getacl}, {afs_acl3_setacl}, +#if defined(AFS_SUN510_ENV) + {afs_acl3_getxattrdir}, +#endif }; /* Munge the dispatch tables to link us in first */ diff --git a/src/afs/afs_pioctl.c b/src/afs/afs_pioctl.c index f04a9a2be..75a2e3874 100644 --- a/src/afs/afs_pioctl.c +++ b/src/afs/afs_pioctl.c @@ -11,7 +11,7 @@ #include "afs/param.h" RCSID - ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.18 2005/07/21 04:49:18 shadow Exp $"); + ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.18.2.1 2005/10/15 01:44:50 shadow Exp $"); #include "afs/sysincludes.h" /* Standard vendor system headers */ #ifdef AFS_OBSD_ENV @@ -967,6 +967,19 @@ afs_syscall_pioctl(path, com, cmarg, follow) } else vp = NULL; +#if defined(AFS_SUN510_ENV) + if (vp && !IsAfsVnode(vp)) { + struct vnode *realvp; + + if (VOP_REALVP(vp, &realvp) == 0) { + struct vnode *oldvp = vp; + + VN_HOLD(realvp); + vp = realvp; + AFS_RELE(oldvp); + } + } +#endif /* now make the call if we were passed no file, or were passed an AFS file */ if (!vp || IsAfsVnode(vp)) { #if defined(AFS_SUN5_ENV) diff --git a/src/afsd/afsd.c b/src/afsd/afsd.c index 30ff42f6c..294763063 100644 --- a/src/afsd/afsd.c +++ b/src/afsd/afsd.c @@ -58,7 +58,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.43.2.10 2005/06/21 20:13:52 shadow Exp $"); + ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.43.2.10.4.1 2005/10/13 21:01:49 shadow Exp $"); #define VFS 1 @@ -79,6 +79,7 @@ RCSID #include #include #include +#include #ifdef HAVE_SYS_PARAM_H @@ -1739,6 +1740,9 @@ mainproc(as, arock) enable_process_stats); exit(1); } +#ifdef AFS_SUN510_ENV + waitpid((pid_t) -1, NULL, 0); +#endif #endif if (afsd_verbose) printf("%s: Forking rx callback listener.\n", rn); diff --git a/src/config/NTMakefile.amd64_w2k b/src/config/NTMakefile.amd64_w2k index bff040eef..ff97f8f64 100644 --- a/src/config/NTMakefile.amd64_w2k +++ b/src/config/NTMakefile.amd64_w2k @@ -80,13 +80,9 @@ LIB = $(AFSDEV_LIB) #define used in WinNT/2000 installation and program version display AFSPRODUCT_VER_MAJOR=1 AFSPRODUCT_VER_MINOR=4 -AFSPRODUCT_VER_PATCH=0005 +AFSPRODUCT_VER_PATCH=0008 AFSPRODUCT_VER_BUILD=0 -# For MSI installer, each major release should have a different GUID -# http://msdn.microsoft.com/library/en-us/msi/setup/changing_the_product_code.asp -AFSPRODUCT_VER_GUID=CC59770C-4690-4531-BAEB-55A5A6D2EEB9 - AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH) AFSPRODUCT_FILE_VERSION=$(AFSPRODUCT_VER_MAJOR),$(AFSPRODUCT_VER_MINOR),$(AFSPRODUCT_VER_PATCH),$(AFSPRODUCT_VER_BUILD) # Set CELLNAME_DEFAULT to "your cell name" diff --git a/src/config/NTMakefile.i386_nt40 b/src/config/NTMakefile.i386_nt40 index 5ad03a17f..b193fdb87 100644 --- a/src/config/NTMakefile.i386_nt40 +++ b/src/config/NTMakefile.i386_nt40 @@ -80,13 +80,9 @@ LIB = $(AFSDEV_LIB) #define used in WinNT/2000 installation and program version display AFSPRODUCT_VER_MAJOR=1 AFSPRODUCT_VER_MINOR=4 -AFSPRODUCT_VER_PATCH=0005 +AFSPRODUCT_VER_PATCH=0008 AFSPRODUCT_VER_BUILD=0 -# For MSI installer, each major release should have a different GUID -# http://msdn.microsoft.com/library/en-us/msi/setup/changing_the_product_code.asp -AFSPRODUCT_VER_GUID=B7F03C11-E7E7-41F5-BEFD-C738EB5B075F - AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH) AFSPRODUCT_FILE_VERSION=$(AFSPRODUCT_VER_MAJOR),$(AFSPRODUCT_VER_MINOR),$(AFSPRODUCT_VER_PATCH),$(AFSPRODUCT_VER_BUILD) # Set CELLNAME_DEFAULT to "your cell name" diff --git a/src/config/NTMakefile.i386_w2k b/src/config/NTMakefile.i386_w2k index 9eb0818d4..c96f1c1cb 100644 --- a/src/config/NTMakefile.i386_w2k +++ b/src/config/NTMakefile.i386_w2k @@ -79,13 +79,9 @@ LIB = $(AFSDEV_LIB) #define used in WinNT/2000 installation and program version display AFSPRODUCT_VER_MINOR=4 -AFSPRODUCT_VER_PATCH=0005 +AFSPRODUCT_VER_PATCH=0008 AFSPRODUCT_VER_BUILD=0 -# For MSI installer, each major release should have a different GUID -# http://msdn.microsoft.com/library/en-us/msi/setup/changing_the_product_code.asp -AFSPRODUCT_VER_GUID=B2220B3E-B61D-4CC7-9D4B-17BA918D049C - AFSPRODUCT_VERSION=$(AFSPRODUCT_VER_MAJOR).$(AFSPRODUCT_VER_MINOR).$(AFSPRODUCT_VER_PATCH) AFSPRODUCT_FILE_VERSION=$(AFSPRODUCT_VER_MAJOR),$(AFSPRODUCT_VER_MINOR),$(AFSPRODUCT_VER_PATCH),$(AFSPRODUCT_VER_BUILD) # Set CELLNAME_DEFAULT to "your cell name" diff --git a/src/libadmin/vos/afs_vosAdmin.c b/src/libadmin/vos/afs_vosAdmin.c index dc740c273..f34f8abb9 100644 --- a/src/libadmin/vos/afs_vosAdmin.c +++ b/src/libadmin/vos/afs_vosAdmin.c @@ -11,7 +11,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/libadmin/vos/afs_vosAdmin.c,v 1.9 2003/12/07 22:49:32 jaltman Exp $"); + ("$Header: /cvs/openafs/src/libadmin/vos/afs_vosAdmin.c,v 1.9.10.2 2005/10/13 18:29:41 shadow Exp $"); #include #include diff --git a/src/libadmin/vos/vsprocs.c b/src/libadmin/vos/vsprocs.c index 3373b1b2b..050bd19fe 100644 --- a/src/libadmin/vos/vsprocs.c +++ b/src/libadmin/vos/vsprocs.c @@ -22,7 +22,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/libadmin/vos/vsprocs.c,v 1.11 2003/11/29 22:08:14 jaltman Exp $"); + ("$Header: /cvs/openafs/src/libadmin/vos/vsprocs.c,v 1.11.10.2 2005/10/13 18:29:41 shadow Exp $"); #include "vsprocs.h" #include "vosutils.h" diff --git a/src/libafs/afs.ppc_darwin_70.plist.in b/src/libafs/afs.ppc_darwin_70.plist.in index 58e0900b5..e7424458b 100644 --- a/src/libafs/afs.ppc_darwin_70.plist.in +++ b/src/libafs/afs.ppc_darwin_70.plist.in @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.3.99 + 1.4.0 CFBundleSignature ???? CFBundleVersion - 1.3.99 + 1.4.0 OSBundleLibraries com.apple.kernel.bsd diff --git a/src/libafs/afs.ppc_darwin_80.plist.in b/src/libafs/afs.ppc_darwin_80.plist.in index 0383e3e82..eafa9d313 100644 --- a/src/libafs/afs.ppc_darwin_80.plist.in +++ b/src/libafs/afs.ppc_darwin_80.plist.in @@ -15,11 +15,11 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.3.82 + 1.4.0 CFBundleSignature ???? CFBundleVersion - 1.3.82 + 1.4.0 OSBundleLibraries com.apple.kernel.bsd diff --git a/src/libafsrpc/afsrpc.def b/src/libafsrpc/afsrpc.def index bbca60301..98f09e6e1 100644 --- a/src/libafsrpc/afsrpc.def +++ b/src/libafsrpc/afsrpc.def @@ -128,8 +128,8 @@ EXPORTS RXSTATS_QueryRPCStatsVersion @133 RXSTATS_ClearProcessRPCStats @134 RXSTATS_ClearPeerRPCStats @135 - - + rx_clearProcessRPCStats @136 + rx_clearPeerRPCStats @137 rxi_connAbortThreshhold @138 DATA rxi_connAbortDelay @139 DATA rxi_callAbortThreshhold @140 DATA @@ -215,11 +215,5 @@ EXPORTS rx_StartClientThread @220 rxkad_global_stats_lock @221 DATA rxkad_stats_key @222 DATA - rx_enableProcessRPCStats @223 - rx_disableProcessRPCStats @224 - rx_clearProcessRPCStats @225 - rx_enablePeerRPCStats @226 - rx_disablePeerRPCStats @227 - rx_clearPeerRPCStats @228 diff --git a/src/packaging/HP-UX/files/usr/vice/etc/CellServDB b/src/packaging/HP-UX/files/usr/vice/etc/CellServDB index 267842111..3c6316a28 100644 --- a/src/packaging/HP-UX/files/usr/vice/etc/CellServDB +++ b/src/packaging/HP-UX/files/usr/vice/etc/CellServDB @@ -1,4 +1,4 @@ ->grand.central.org #GCO Public CellServDB 16 Mar 2005 +>grand.central.org #GCO Public CellServDB 15 Oct 2005 18.7.14.88 #grand-opening.mit.edu 128.2.191.224 #penn.central.org 130.237.48.87 #andrew.e.kth.se @@ -21,6 +21,10 @@ >ams.cern.ch #AMS Experiment 137.138.206.77 #pcamsf2.cern.ch 137.138.206.123 #pcamsf4.cern.ch +>epfl.ch #Swiss Federal Institute of Technology at Lausanne +128.178.2.6 #kd1.epfl.ch +128.178.2.7 #kd2.epfl.ch +128.178.2.8 #kd3.epfl.ch >ethz.ch #Swiss Federal Inst. of Tech. - Zurich, Switzerland 129.132.97.19 #amalthea.ethz.ch 129.132.97.27 #nethzafs-001.ethz.ch @@ -40,8 +44,7 @@ 130.85.24.11 #weasel 130.85.24.13 #straykitten >midnightlinux.com #Midnight Linux, Pittsburgh PA -66.93.62.18 #romulus.midnihtlinux.com -66.93.62.20 #yar.midnightlinux.com +208.10.142.82 #outpost.midnightlinux.com >setfilepointer.com #SetFilePointer.com 63.224.10.2 #hamlet.SetFilePointer.com 63.224.10.4 #troilus.SetFilePointer.com @@ -119,6 +122,10 @@ 134.155.97.204 #afsdb1.uni-mannheim.de 134.155.97.205 #afsdb2.uni-mannheim.de 134.155.97.206 #afsdb3.uni-mannheim.de +>uni-paderborn.de #University of Paderborn, Germany +131.234.137.10 #afsdb1.uni-paderborn.de +131.234.137.11 #afsdb2.uni-paderborn.de +131.234.137.12 #afsdb3.uni-paderborn.de >physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal 132.195.104.3 #afs1.physik.uni-wuppertal.de 132.195.104.230 #afs2.physik.uni-wuppertal.de @@ -146,8 +153,8 @@ 128.2.10.28 #vice28.fs.andrew.cmu.edu 128.2.32.44 #new-vice12.fs.andrew.cmu.edu >club.cc.cmu.edu #Carnegie Mellon University Computer Club -128.2.4.132 #zirconium.club.cc.cmu.edu -128.2.4.181 #yttrium.club.cc.cmu.edu +128.237.157.11 #sodium.club.cc.cmu.edu +128.237.157.13 #potassium.club.cc.cmu.edu >chem.cmu.edu #Carnegie Mellon University - Chemistry Dept. 128.2.40.134 #afs.chem.cmu.edu 128.2.40.140 #afs2.chem.cmu.edu @@ -292,10 +299,6 @@ 141.211.211.53 #gerow.lsa.umich.edu 141.211.211.72 #collines.lsa.umich.edu 141.211.211.153 #hodges.lsa.umich.edu ->math.lsa.umich.edu #University of Michigan - Math Department -141.211.61.40 #ike.math.lsa.umich.edu -141.211.61.41 #clark.math.lsa.umich.edu -141.211.61.42 #nimitz.math.lsa.umich.edu >umr.edu #University of Missouri - Rolla 131.151.1.59 #afsdb1.umr.edu 131.151.1.70 #afsdb3.umr.edu @@ -322,11 +325,15 @@ 144.92.13.15 #curly.cae.wisc.edu 144.92.13.16 #moe.cae.wisc.edu >hep.wisc.edu #University of Wisconsin -- High Energy Physics -128.104.28.219 #anise.physics.wisc.edu +128.104.28.219 #anise.hep.wisc.edu >physics.wisc.edu #Univ. of Wisconsin-Madison, Physics Department 128.104.160.13 #kendra.physics.wisc.edu 128.104.160.14 #fray.physics.wisc.edu 128.104.160.15 #buffy.physics.wisc.edu +>ciemat.es #Ciemat, Madrid, Spain +130.206.11.42 #afsdb1.ciemat.es +130.206.11.217 #afsdb2.ciemat.es +130.206.11.247 #afsdb3.ciemat.es >ifca.unican.es #Instituto de Fisica de Cantabria (IFCA), Santander, Spain 193.144.209.20 #gridwall.ifca.unican.es >ific.uv.es #Instituto de Fisica Corpuscular, Valencia, Spain @@ -369,6 +376,8 @@ 128.55.128.254 #lurch.nersc.gov >bme.hu #Budapest University of Technology and Economics 152.66.241.6 #afs.iit.bme.hu +>kfki.hu #Research Institute for Nuclear and Particle Physics - Budapest,H +148.6.8.14 #afs.kfki.hu >caspur.it #CASPUR Inter-University Computing Consortium, Rome 193.204.5.45 #pomodoro.caspur.it 193.204.5.46 #banana.caspur.it @@ -387,9 +396,9 @@ >icemb.it #ICEMB, Universita' La Sapienza - Rome - Italy 193.204.6.130 #icembfs.caspur.it >infn.it #Istituto Nazionale di Fisica Nucleare (INFN), Italia -131.154.1.7 #afs3.infn.it -141.108.3.252 #afs1.infn.it -192.84.134.75 #afs2.infn.it +131.154.1.7 #afscnaf.infn.it +141.108.26.75 #afsrm1.roma1.infn.it +192.84.134.75 #afsna.na.infn.it >ba.infn.it #INFN, Sezione di Bari 193.206.185.235 #baafsserver.ba.infn.it >kloe.infn.it #INFN, KLOE experiment at Laboratori di Frascati @@ -414,8 +423,13 @@ >ictp.trieste.it #The Abdus Salam International Centre for Theoretical Physics (IC 140.105.16.8 #fs1.ictp.trieste.it 140.105.16.9 #fs2.ictp.trieste.it +>math.unifi.it #math.unifi.it +150.217.34.182 #xeno.math.unifi.it >ing.uniroma1.it #Universita' La Sapienza, Fac. Ingeneria 151.100.85.253 #alfa.ing.uniroma1.it +>dia.uniroma3.it #University Roma Tre - DIA +193.204.161.79 #plm.dia.uniroma3.it +193.204.161.118 #afs.dia.uniroma3.it >vn.uniroma3.it #University of Rome 3, Area Vasca Navale 193.204.161.136 #alfa.dia.uniroma3.it 193.204.161.137 #beta.dia.uniroma3.it @@ -440,21 +454,22 @@ 66.92.236.139 #afs.sinenomine.net >slackers.net #The Slackers' Network 63.201.48.27 #alexandria.slackers.net +>tproa.net #The People's Republic of Ames +209.234.76.70 #service-3.tproa.net >nikhef.nl #The Dutch National Institute for High Energy Physics 192.16.185.26 #afs1.nikhef.nl 192.16.185.27 #afs2.nikhef.nl ->1ts.org #KCR/private Karl Ramm, Cambridge, MA +>1ts.org #1TS.ORG, Cambridge, MA 4.36.43.102 #dol-guldur.1ts.org +69.25.196.51 #pancake.1ts.org >bazquux.org #Baz Quux Organization 66.207.142.196 #baxquux.org >coed.org #Adam Pennington's Cell 66.93.61.184 #vice1.coed.org -128.2.4.163 #vice3.coed.org +128.237.157.35 #vice3.coed.org >dementia.org #Dementia Unlimited 128.2.12.45 #alycia.dementia.org 128.2.120.216 #meredith.dementia.org ->firelion.org #firelion.org -24.28.77.209 #sirius.firelion.org >hackish.org #Hackish.org 24.167.65.213 #avatar.sys.hackish.org 128.2.120.138 #kurma.sys.hackish.org @@ -467,10 +482,12 @@ 204.29.154.12 #iota.nomh.org 204.29.154.32 #adversity.xi.nomh.org >oc7.org #The OC7 Project -128.2.6.107 #vice3.oc7.org -128.2.122.140 #vice2.oc7.org +128.2.122.140 #knife.oc7.org +207.22.77.170 #spoon.oc7.org >openafs.org #OpenAFS Project -128.2.13.199 #virtue.openafs.org +18.7.14.88 #grand-opening.mit.edu +128.2.191.224 #penn.central.org +130.237.48.87 #andrew.e.kth.se >e.kth.se #Royal Institute of Technology, Elektro 130.237.32.145 #sonen.e.kth.se 130.237.48.7 #anden.e.kth.se diff --git a/src/rx/LINUX/rx_kmutex.h b/src/rx/LINUX/rx_kmutex.h index 8e08f004f..cf6828e46 100644 --- a/src/rx/LINUX/rx_kmutex.h +++ b/src/rx/LINUX/rx_kmutex.h @@ -65,9 +65,9 @@ MUTEX_ISMINE(afs_kmutex_t * l) #define MUTEX_EXIT afs_mutex_exit #if defined(AFS_LINUX24_ENV) -#define CV_INIT(cv,b,c,d) do { (cv)->seq = 0; init_waitqueue_head(&(cv)->waitq); } while (0) +#define CV_INIT(cv,b,c,d) do { (cv)->seq = 0; init_waitqueue_head(&(cv)->waitq); } while (0) #else -#define CV_INIT(cv,b,c,d) init_waitqueue((struct wait_queue**)(cv)) +#define CV_INIT(cv,b,c,d) do { (cv)->seq = 0; init_waitqueue(&(cv)->waitq); } while (0) #endif #define CV_DESTROY(cv) #define CV_WAIT_SIG(cv, m) afs_cv_wait(cv, m, 1) diff --git a/src/rx/rx.c b/src/rx/rx.c index ea42a1edd..50e69f3e7 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -17,7 +17,7 @@ #endif RCSID - ("$Header: /cvs/openafs/src/rx/rx.c,v 1.58.2.28 2005/09/17 20:00:39 jaltman Exp $"); + ("$Header: /cvs/openafs/src/rx/rx.c,v 1.58.2.28.2.1 2005/10/08 04:01:00 jaltman Exp $"); #ifdef KERNEL #include "afs/sysincludes.h" @@ -5171,13 +5171,13 @@ rxi_Start(struct rxevent *event, register struct rx_call *call, call->flags &= ~RX_CALL_TQ_BUSY; if (call->tqWaiters || (call->flags & RX_CALL_TQ_WAIT)) { dpf(("call %x has %d waiters and flags %d\n", call, call->tqWaiters, call->flags)); - } #ifdef RX_ENABLE_LOCKS - osirx_AssertMine(&call->lock, "rxi_Start start"); - CV_BROADCAST(&call->cv_tq); + osirx_AssertMine(&call->lock, "rxi_Start start"); + CV_BROADCAST(&call->cv_tq); #else /* RX_ENABLE_LOCKS */ - osi_rxWakeup(&call->tq); + osi_rxWakeup(&call->tq); #endif /* RX_ENABLE_LOCKS */ + } return; } if (call->error) { @@ -5191,13 +5191,13 @@ rxi_Start(struct rxevent *event, register struct rx_call *call, call->flags &= ~RX_CALL_TQ_BUSY; if (call->tqWaiters || (call->flags & RX_CALL_TQ_WAIT)) { dpf(("call %x has %d waiters and flags %d\n", call, call->tqWaiters, call->flags)); - } #ifdef RX_ENABLE_LOCKS - osirx_AssertMine(&call->lock, "rxi_Start middle"); - CV_BROADCAST(&call->cv_tq); + osirx_AssertMine(&call->lock, "rxi_Start middle"); + CV_BROADCAST(&call->cv_tq); #else /* RX_ENABLE_LOCKS */ - osi_rxWakeup(&call->tq); + osi_rxWakeup(&call->tq); #endif /* RX_ENABLE_LOCKS */ + } rxi_CallError(call, call->error); return; } @@ -5279,13 +5279,13 @@ rxi_Start(struct rxevent *event, register struct rx_call *call, call->flags &= ~RX_CALL_TQ_BUSY; if (call->tqWaiters || (call->flags & RX_CALL_TQ_WAIT)) { dpf(("call %x has %d waiters and flags %d\n", call, call->tqWaiters, call->flags)); - } #ifdef RX_ENABLE_LOCKS - osirx_AssertMine(&call->lock, "rxi_Start end"); - CV_BROADCAST(&call->cv_tq); + osirx_AssertMine(&call->lock, "rxi_Start end"); + CV_BROADCAST(&call->cv_tq); #else /* RX_ENABLE_LOCKS */ - osi_rxWakeup(&call->tq); + osi_rxWakeup(&call->tq); #endif /* RX_ENABLE_LOCKS */ + } } else { call->flags |= RX_CALL_NEED_START; } diff --git a/src/rxgen/rpc_hout.c b/src/rxgen/rpc_hout.c index 805364f5b..1c002082a 100644 --- a/src/rxgen/rpc_hout.c +++ b/src/rxgen/rpc_hout.c @@ -36,7 +36,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/rxgen/rpc_hout.c,v 1.7 2003/07/15 23:16:40 shadow Exp $"); + ("$Header: /cvs/openafs/src/rxgen/rpc_hout.c,v 1.7.10.2 2005/10/15 21:53:58 jaltman Exp $"); #include #include @@ -259,8 +259,9 @@ static void psprocdef(definition * defp) { int split_flag = defp->pc.split_flag; + int multi_flag = defp->pc.multi_flag; - if (split_flag) { + if (split_flag || multi_flag) { psproc1(defp, 1, "int", "Start", (1 << DEF_INPARAM) | (1 << DEF_INOUTPARAM)); psproc1(defp, 1, "int", "End", @@ -269,7 +270,8 @@ psprocdef(definition * defp) psproc1(defp, 0, "int", "", 0xFFFFFFFF); } - psproc1(defp, 1, "afs_int32", "S", 0xFFFFFFFF); + if (*ServerPrefix) + psproc1(defp, 1, "afs_int32", ServerPrefix, 0xFFFFFFFF); } diff --git a/src/rxgen/rpc_parse.c b/src/rxgen/rpc_parse.c index 7dbfdc546..a0ec08129 100644 --- a/src/rxgen/rpc_parse.c +++ b/src/rxgen/rpc_parse.c @@ -36,7 +36,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/rxgen/rpc_parse.c,v 1.18 2004/05/05 03:24:57 jaltman Exp $"); + ("$Header: /cvs/openafs/src/rxgen/rpc_parse.c,v 1.18.10.1 2005/10/15 01:21:21 shadow Exp $"); #include #include @@ -775,7 +775,10 @@ check_proc(definition * defp, token * tokp, int noname) scan4(TOK_SPLIT, TOK_MULTI, TOK_EQUAL, TOK_SEMICOLON, &tok); if (tok.kind == TOK_MULTI) { proc_multi = 1; + defp->pc.multi_flag = 1; scan2(TOK_EQUAL, TOK_SEMICOLON, &tok); + } else { + defp->pc.multi_flag = 0; } if (tok.kind == TOK_SPLIT) { proc_split = 1; diff --git a/src/rxgen/rpc_parse.h b/src/rxgen/rpc_parse.h index 84c2adfa6..81977e9a3 100644 --- a/src/rxgen/rpc_parse.h +++ b/src/rxgen/rpc_parse.h @@ -188,6 +188,7 @@ struct procedure_def { #define INOUT 2 short paramtypes[3]; char split_flag; + char multi_flag; relation rel; proc1_list *plists; }; diff --git a/src/vol/partition.c b/src/vol/partition.c index f8a530ad1..4f836981c 100644 --- a/src/vol/partition.c +++ b/src/vol/partition.c @@ -21,7 +21,7 @@ #include RCSID - ("$Header: /cvs/openafs/src/vol/partition.c,v 1.30.2.1 2004/08/25 07:14:19 shadow Exp $"); + ("$Header: /cvs/openafs/src/vol/partition.c,v 1.30.2.1.4.1 2005/10/17 20:48:29 shadow Exp $"); #include #ifdef AFS_NT40_ENV @@ -346,13 +346,13 @@ VCheckPartition(char *part, char *devname) Log("This program is compiled without AFS_NAMEI_ENV, but partition %s seems to contain volumes which use the namei-interface; aborting\n", part); return -1; } -#endif /* AFS_NAMEI_ENV */ -#endif #ifdef AFS_SGI_XFS_IOPS_ENV if (VerifyXFSInodeSize(part, status.st_fstype) < 0) return -1; #endif +#endif /* AFS_NAMEI_ENV */ +#endif #if defined(AFS_DUX40_ENV) && !defined(AFS_NAMEI_ENV) if (status.st_ino != ROOTINO) { -- 2.39.5