Index: openafs/src/JAVA/classes/org/openafs/jafs/Token.java
diff -c openafs/src/JAVA/classes/org/openafs/jafs/Token.java:1.2.2.1 openafs/src/JAVA/classes/org/openafs/jafs/Token.java:1.2.2.2
*** openafs/src/JAVA/classes/org/openafs/jafs/Token.java:1.2.2.1 Fri Oct 14 22:14:10 2005
--- openafs/src/JAVA/classes/org/openafs/jafs/Token.java Fri Dec 14 16:37:39 2007
***************
*** 144,149 ****
--- 144,163 ----
}
/**
+ * Constructs a new Token object instance given the
+ * name of the AFS cell it represents; the token for administrative
+ * access will be extracted from the kernel cache manager if possible.
+ *
+ * @param cellName the name of the cell to Token into
+ * @exception AFSException If an error occurs in the native code
+ */
+ public Token(String cellName)
+ throws AFSException
+ {
+ this(null, null, cellName);
+ }
+
+ /**
* Constructs a new Token object instance given
* the name of the AFS cell it represents and the username and password
* of the user to be Tokend for
Index: openafs/src/JAVA/libjafs/AdminToken.c
diff -c openafs/src/JAVA/libjafs/AdminToken.c:1.3.2.1 openafs/src/JAVA/libjafs/AdminToken.c:1.3.2.2
*** openafs/src/JAVA/libjafs/AdminToken.c:1.3.2.1 Fri Oct 14 22:14:11 2005
--- openafs/src/JAVA/libjafs/AdminToken.c Fri Dec 14 16:37:40 2007
***************
*** 30,35 ****
--- 30,36 ----
#include
#include
#include
+ #include
/**
* Static function used to initialize the client library and the
***************
*** 71,76 ****
--- 72,78 ----
const char *password;
void *tokenHandle;
int rc;
+ int err;
// convert java strings
if( jcellName != NULL ) {
***************
*** 101,108 ****
password = NULL;
}
! if ( !(afsclient_TokenGetNew( cellName, userName, password, &tokenHandle,
! &ast) ) ) {
// release converted strings
if( cellName != NULL ) {
(*env)->ReleaseStringUTFChars(env, jcellName, cellName);
--- 103,113 ----
password = NULL;
}
! err = (password==NULL || userName==NULL)
! ? afsclient_TokenGetExisting( cellName, &tokenHandle, &ast)
! : afsclient_TokenGetNew( cellName, userName, password, &tokenHandle, &ast);
!
! if ( !err ) {
// release converted strings
if( cellName != NULL ) {
(*env)->ReleaseStringUTFChars(env, jcellName, cellName);
Index: openafs/src/JAVA/libjafs/Makefile.in
diff -c openafs/src/JAVA/libjafs/Makefile.in:1.3.2.1 openafs/src/JAVA/libjafs/Makefile.in:1.3.2.2
*** openafs/src/JAVA/libjafs/Makefile.in:1.3.2.1 Fri Oct 14 22:14:12 2005
--- openafs/src/JAVA/libjafs/Makefile.in Fri Dec 14 16:37:40 2007
***************
*** 13,19 ****
TOP_INCDIR=@TOP_INCDIR@
TOP_LIBDIR=@TOP_LIBDIR@
TOP_JLIBDIR=@TOP_SRCDIR@/JAVA/libjafs
! JNI_INC=${JAVA_HOME}/include
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
--- 13,19 ----
TOP_INCDIR=@TOP_INCDIR@
TOP_LIBDIR=@TOP_LIBDIR@
TOP_JLIBDIR=@TOP_SRCDIR@/JAVA/libjafs
! JNI_INC=-I ${JAVA_HOME}/include -I `dirname ${JAVA_HOME}/include/*/jni_md.h`
prefix=@prefix@
exec_prefix=@exec_prefix@
bindir=@bindir@
***************
*** 35,44 ****
OBJECT_FLAGS = -fPIC -c
ifeq "$(BUILD_TYPE)" "admin"
! INC := -I${TOP_INCDIR} -I${TOP_INCDIR}/afs/ -I${JAVA_HOME}/include -I ${JNI_INC}
CFLAGS := ${INC} ${DBG} ${OPTMZ} -I${TOP_SRCDIR}/config ${MT_CFLAGS}
else
! INC := -I${TOP_SRCDIR}/libuafs -I${TOP_INCDIR} -I${JAVA_HOME}/include -I ${JNI_INC}
CFLAGS := ${INC} ${DBG} ${OPTMZ} ${FSINCLUDES} -D_REENTRANT -DLIBJUAFS ${MT_CFLAGS}
endif
--- 35,44 ----
OBJECT_FLAGS = -fPIC -c
ifeq "$(BUILD_TYPE)" "admin"
! INC := -I${TOP_INCDIR} -I${TOP_INCDIR}/afs/ ${JNI_INC}
CFLAGS := ${INC} ${DBG} ${OPTMZ} -I${TOP_SRCDIR}/config ${MT_CFLAGS}
else
! INC := -I${TOP_SRCDIR}/libuafs -I${TOP_INCDIR} ${JNI_INC}
CFLAGS := ${INC} ${DBG} ${OPTMZ} ${FSINCLUDES} -D_REENTRANT -DLIBJUAFS ${MT_CFLAGS}
endif
***************
*** 50,56 ****
JAVADOCSDIR = javadocs/
JAVAH = ${JAVA_HOME}/bin/javah -classpath ${ROOTPACKAGEDIR} -jni -d ${LIBJAFSADMDIR}
! JAVAC = ${JAVA_HOME}/bin/javac -classpath ${ROOTPACKAGEDIR}
J_NATIVE_PREFIX = org.openafs.jafs.
C_NATIVE_PREFIX = org_openafs_jafs_
--- 50,56 ----
JAVADOCSDIR = javadocs/
JAVAH = ${JAVA_HOME}/bin/javah -classpath ${ROOTPACKAGEDIR} -jni -d ${LIBJAFSADMDIR}
! JAVAC = ${JAVA_HOME}/bin/javac -source 1.4 -classpath ${ROOTPACKAGEDIR}
J_NATIVE_PREFIX = org.openafs.jafs.
C_NATIVE_PREFIX = org_openafs_jafs_
***************
*** 153,158 ****
--- 153,159 ----
LIBJAFS_LIBS =\
${TOP_LIBDIR}/libjuafs.a \
+ ${TOP_LIBDIR}/libafsutil.a \
${TOP_LIBDIR}/libdes.a \
-lresolv \
-lpthread
Index: openafs/src/WINNT/afs_setup_utils/afsrm.c
diff -c openafs/src/WINNT/afs_setup_utils/afsrm.c:1.3 openafs/src/WINNT/afs_setup_utils/afsrm.c:1.3.8.1
*** openafs/src/WINNT/afs_setup_utils/afsrm.c:1.3 Tue Sep 18 00:26:47 2001
--- openafs/src/WINNT/afs_setup_utils/afsrm.c Wed Oct 31 00:13:07 2007
***************
*** 23,29 ****
#include "forceremove.h"
! static int DoClient34(struct cmd_syndesc *as, char *arock)
{
DWORD status = Client34Eradicate(FALSE);
--- 23,29 ----
#include "forceremove.h"
! static int DoClient34(struct cmd_syndesc *as, void *arock)
{
DWORD status = Client34Eradicate(FALSE);
***************
*** 40,46 ****
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("client34", DoClient34, 0,
"remove AFS 3.4a client");
}
--- 40,46 ----
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("client34", DoClient34, NULL,
"remove AFS 3.4a client");
}
Index: openafs/src/WINNT/afsd/cklog.c
diff -c openafs/src/WINNT/afsd/cklog.c:1.3.2.1 openafs/src/WINNT/afsd/cklog.c:1.3.2.2
*** openafs/src/WINNT/afsd/cklog.c:1.3.2.1 Tue Apr 10 14:43:34 2007
--- openafs/src/WINNT/afsd/cklog.c Wed Oct 31 00:13:19 2007
***************
*** 22,28 ****
#define BAD_ARGUMENT 1
#define KLOGEXIT(code) exit(code)
! int CommandProc();
static int zero_argc;
static char **zero_argv;
--- 22,28 ----
#define BAD_ARGUMENT 1
#define KLOGEXIT(code) exit(code)
! static int CommandProc(struct cmd_syndesc *, void *);
static int zero_argc;
static char **zero_argv;
***************
*** 40,46 ****
/* Start up sockets */
WSAStartup(0x0101, &WSAjunk);
! ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "obtain Kerberos authentication");
#define aXFLAG 0
#define aPRINCIPAL 1
--- 40,46 ----
/* Start up sockets */
WSAStartup(0x0101, &WSAjunk);
! ts = cmd_CreateSyntax(NULL, CommandProc, NULL, "obtain Kerberos authentication");
#define aXFLAG 0
#define aPRINCIPAL 1
***************
*** 135,143 ****
return !ok;
}
! CommandProc (as, arock)
! char *arock;
! struct cmd_syndesc *as;
{
char name[MAXKTCNAMELEN];
char instance[MAXKTCNAMELEN];
--- 135,142 ----
return !ok;
}
! static int
! CommandProc (struct cmd_syndesc *as, void *arock)
{
char name[MAXKTCNAMELEN];
char instance[MAXKTCNAMELEN];
Index: openafs/src/WINNT/afsd/cunlog.c
diff -c openafs/src/WINNT/afsd/cunlog.c:1.2 openafs/src/WINNT/afsd/cunlog.c:1.2.20.1
*** openafs/src/WINNT/afsd/cunlog.c:1.2 Sat Nov 4 05:01:41 2000
--- openafs/src/WINNT/afsd/cunlog.c Wed Oct 31 00:13:20 2007
***************
*** 15,23 ****
#include
#include
! CommandProc (as, arock)
! char *arock;
! struct cmd_syndesc *as;
{
afs_int32 code, ecode=0;
struct ktc_principal server;
--- 15,22 ----
#include
#include
! static int
! CommandProc (struct cmd_syndesc *as, void *arock)
{
afs_int32 code, ecode=0;
struct ktc_principal server;
***************
*** 55,61 ****
WSAStartup(0x0101, &WSAjunk);
! ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "Release Kerberos authentication");
cmd_AddParm(ts, "-cell", CMD_LIST, CMD_OPTIONAL, "cell name");
code = cmd_Dispatch(argc, argv);
--- 54,60 ----
WSAStartup(0x0101, &WSAjunk);
! ts = cmd_CreateSyntax(NULL, CommandProc, NULL, "Release Kerberos authentication");
cmd_AddParm(ts, "-cell", CMD_LIST, CMD_OPTIONAL, "cell name");
code = cmd_Dispatch(argc, argv);
Index: openafs/src/WINNT/afsd/fs.c
diff -c openafs/src/WINNT/afsd/fs.c:1.16.2.21 openafs/src/WINNT/afsd/fs.c:1.16.2.22
*** openafs/src/WINNT/afsd/fs.c:1.16.2.21 Tue Apr 10 14:43:35 2007
--- openafs/src/WINNT/afsd/fs.c Wed Oct 31 00:13:20 2007
***************
*** 50,66 ****
static struct ubik_client *uclient;
! static int GetClientAddrsCmd(struct cmd_syndesc *asp, char *arock);
! static int SetClientAddrsCmd(struct cmd_syndesc *asp, char *arock);
! static int FlushMountCmd(struct cmd_syndesc *asp, char *arock);
! static int RxStatProcCmd(struct cmd_syndesc *asp, char *arock);
! static int RxStatPeerCmd(struct cmd_syndesc *asp, char *arock);
extern struct cmd_syndesc *cmd_CreateSyntax();
! static int MemDumpCmd(struct cmd_syndesc *asp, char *arock);
! static int CSCPolicyCmd(struct cmd_syndesc *asp, char *arock);
! static int MiniDumpCmd(struct cmd_syndesc *asp, char *arock);
static char pn[] = "fs";
static int rxInitDone = 0;
--- 50,66 ----
static struct ubik_client *uclient;
! static int GetClientAddrsCmd(struct cmd_syndesc *asp, void *arock);
! static int SetClientAddrsCmd(struct cmd_syndesc *asp, void *arock);
! static int FlushMountCmd(struct cmd_syndesc *asp, void *arock);
! static int RxStatProcCmd(struct cmd_syndesc *asp, void *arock);
! static int RxStatPeerCmd(struct cmd_syndesc *asp, void *arock);
extern struct cmd_syndesc *cmd_CreateSyntax();
! static int MemDumpCmd(struct cmd_syndesc *asp, void *arock);
! static int CSCPolicyCmd(struct cmd_syndesc *asp, void *arock);
! static int MiniDumpCmd(struct cmd_syndesc *asp, void *arock);
static char pn[] = "fs";
static int rxInitDone = 0;
***************
*** 873,879 ****
}
static int
! SetACLCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 873,879 ----
}
static int
! SetACLCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1003,1009 ****
}
static int
! CopyACLCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1003,1009 ----
}
static int
! CopyACLCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1179,1185 ****
/* clean up an acl to not have bogus entries */
static int
! CleanACLCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct Acl *ta = 0;
--- 1179,1185 ----
/* clean up an acl to not have bogus entries */
static int
! CleanACLCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct Acl *ta = 0;
***************
*** 1266,1272 ****
}
static int
! ListACLCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct Acl *ta = 0;
--- 1266,1272 ----
}
static int
! ListACLCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct Acl *ta = 0;
***************
*** 1332,1338 ****
}
static int
! FlushAllCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1332,1338 ----
}
static int
! FlushAllCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1347,1353 ****
}
static int
! FlushVolumeCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1347,1353 ----
}
static int
! FlushVolumeCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1369,1375 ****
}
static int
! FlushCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1369,1375 ----
}
static int
! FlushCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1397,1403 ****
/* all this command does is repackage its args and call SetVolCmd */
static int
! SetQuotaCmd(struct cmd_syndesc *as, char *arock) {
struct cmd_syndesc ts;
/* copy useful stuff from our command slot; we may later have to reorder */
--- 1397,1403 ----
/* all this command does is repackage its args and call SetVolCmd */
static int
! SetQuotaCmd(struct cmd_syndesc *as, void *arock) {
struct cmd_syndesc ts;
/* copy useful stuff from our command slot; we may later have to reorder */
***************
*** 1406,1412 ****
}
static int
! SetVolCmd(struct cmd_syndesc *as, char *arock) {
afs_int32 code;
struct ViceIoctl blob;
struct cmd_item *ti;
--- 1406,1412 ----
}
static int
! SetVolCmd(struct cmd_syndesc *as, void *arock) {
afs_int32 code;
struct ViceIoctl blob;
struct cmd_item *ti;
***************
*** 1482,1488 ****
#endif /* WIN32 */
static int
! ExamineCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1482,1488 ----
#endif /* WIN32 */
static int
! ExamineCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1545,1551 ****
}
static int
! ListQuotaCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1545,1551 ----
}
static int
! ListQuotaCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1577,1583 ****
}
static int
! WhereIsCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1577,1583 ----
}
static int
! WhereIsCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1616,1622 ****
static int
! DiskFreeCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1616,1622 ----
static int
! DiskFreeCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1647,1653 ****
}
static int
! QuotaCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1647,1653 ----
}
static int
! QuotaCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1679,1685 ****
}
static int
! ListMountCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 1679,1685 ----
}
static int
! ListMountCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 1831,1837 ****
}
static int
! MakeMountCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
char *cellName, *volName, *tmpName;
--- 1831,1837 ----
}
static int
! MakeMountCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
char *cellName, *volName, *tmpName;
***************
*** 1973,1979 ****
* tp: Set to point to the actual name of the mount point to nuke.
*/
static int
! RemoveMountCmd(struct cmd_syndesc *as, char *arock) {
afs_int32 code=0;
struct ViceIoctl blob;
struct cmd_item *ti;
--- 1973,1979 ----
* tp: Set to point to the actual name of the mount point to nuke.
*/
static int
! RemoveMountCmd(struct cmd_syndesc *as, void *arock) {
afs_int32 code=0;
struct ViceIoctl blob;
struct cmd_item *ti;
***************
*** 2049,2055 ****
*/
static int
! CheckServersCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2049,2055 ----
*/
static int
! CheckServersCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2155,2161 ****
}
static int
! MessagesCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code=0;
struct ViceIoctl blob;
--- 2155,2161 ----
}
static int
! MessagesCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code=0;
struct ViceIoctl blob;
***************
*** 2198,2204 ****
}
static int
! CheckVolumesCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2198,2204 ----
}
static int
! CheckVolumesCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2216,2222 ****
}
static int
! SetCacheSizeCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2216,2222 ----
}
static int
! SetCacheSizeCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2261,2267 ****
#define MAXGCSIZE 16
static int
! GetCacheParmsCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2261,2267 ----
#define MAXGCSIZE 16
static int
! GetCacheParmsCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2286,2292 ****
}
static int
! ListCellsCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
afs_int32 i, j, *lp, magic, size;
--- 2286,2292 ----
}
static int
! ListCellsCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
afs_int32 i, j, *lp, magic, size;
***************
*** 2346,2352 ****
#ifndef WIN32
static int
! ListAliasesCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code, i;
char *tp, *aliasName, *realName;
--- 2346,2352 ----
#ifndef WIN32
static int
! ListAliasesCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code, i;
char *tp, *aliasName, *realName;
***************
*** 2376,2382 ****
}
static int
! CallBackRxConnCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2376,2382 ----
}
static int
! CallBackRxConnCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2416,2422 ****
#endif /* WIN32 */
static int
! NewCellCmd(struct cmd_syndesc *as, char *arock)
{
#ifndef WIN32
afs_int32 code, linkedstate=0, size=0, *lp;
--- 2416,2422 ----
#endif /* WIN32 */
static int
! NewCellCmd(struct cmd_syndesc *as, void *arock)
{
#ifndef WIN32
afs_int32 code, linkedstate=0, size=0, *lp;
***************
*** 2513,2519 ****
#ifndef WIN32
static int
! NewAliasCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2513,2519 ----
#ifndef WIN32
static int
! NewAliasCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2549,2555 ****
#endif /* WIN32 */
static int
! WhichCellCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct cmd_item *ti;
--- 2549,2555 ----
#endif /* WIN32 */
static int
! WhichCellCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct cmd_item *ti;
***************
*** 2573,2579 ****
}
static int
! WSCellCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2573,2579 ----
}
static int
! WSCellCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2596,2602 ****
/*
static int
! PrimaryCellCmd(struct cmd_syndesc *as, char *arock)
{
fprintf(stderr,"This command is obsolete, as is the concept of a primary token.\n");
return 0;
--- 2596,2602 ----
/*
static int
! PrimaryCellCmd(struct cmd_syndesc *as, void *arock)
{
fprintf(stderr,"This command is obsolete, as is the concept of a primary token.\n");
return 0;
***************
*** 2604,2610 ****
*/
static int
! MonitorCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2604,2610 ----
*/
static int
! MonitorCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2664,2670 ****
}
static int
! SysNameCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2664,2670 ----
}
static int
! SysNameCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2734,2740 ****
}
static char *exported_types[] = {"null", "nfs", ""};
! static int ExportAfsCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2734,2740 ----
}
static char *exported_types[] = {"null", "nfs", ""};
! static int ExportAfsCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2837,2843 ****
static int
! GetCellCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2837,2843 ----
static int
! GetCellCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 2886,2892 ****
return error;
}
! static int SetCellCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 2886,2892 ----
return error;
}
! static int SetCellCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 3173,3179 ****
#ifdef WIN32
static int
! SetPrefCmd(struct cmd_syndesc *as, char * arock)
{
FILE *infd;
afs_int32 code;
--- 3173,3179 ----
#ifdef WIN32
static int
! SetPrefCmd(struct cmd_syndesc *as, void * arock)
{
FILE *infd;
afs_int32 code;
***************
*** 3263,3269 ****
}
#else
static int
! SetPrefCmd(struct cmd_syndesc *as, char *arock)
{
FILE *infd;
afs_int32 code;
--- 3263,3269 ----
}
#else
static int
! SetPrefCmd(struct cmd_syndesc *as, void *arock)
{
FILE *infd;
afs_int32 code;
***************
*** 3369,3375 ****
#ifdef WIN32
static int
! GetPrefCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct cmd_item *ti;
--- 3369,3375 ----
#ifdef WIN32
static int
! GetPrefCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct cmd_item *ti;
***************
*** 3440,3446 ****
}
#else
static int
! GetPrefCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct cmd_item *ti;
--- 3440,3446 ----
}
#else
static int
! GetPrefCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct cmd_item *ti;
***************
*** 3511,3517 ****
#endif /* WIN32 */
static int
! TraceCmd(struct cmd_syndesc *asp, char *arock)
{
long code;
struct ViceIoctl blob;
--- 3511,3517 ----
#endif /* WIN32 */
static int
! TraceCmd(struct cmd_syndesc *asp, void *arock)
{
long code;
struct ViceIoctl blob;
***************
*** 3573,3579 ****
/* fs sb -kbytes 9999 -files *.o -default 64 */
static int
! StoreBehindCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code = 0;
struct ViceIoctl blob;
--- 3573,3579 ----
/* fs sb -kbytes 9999 -files *.o -default 64 */
static int
! StoreBehindCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code = 0;
struct ViceIoctl blob;
***************
*** 3680,3686 ****
}
static afs_int32
! SetCryptCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code = 0, flag;
struct ViceIoctl blob;
--- 3680,3686 ----
}
static afs_int32
! SetCryptCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code = 0, flag;
struct ViceIoctl blob;
***************
*** 3713,3719 ****
}
static afs_int32
! GetCryptCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code = 0, flag;
struct ViceIoctl blob;
--- 3713,3719 ----
}
static afs_int32
! GetCryptCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code = 0, flag;
struct ViceIoctl blob;
***************
*** 3741,3747 ****
}
static int
! MemDumpCmd(struct cmd_syndesc *asp, char *arock)
{
long code;
struct ViceIoctl blob;
--- 3741,3747 ----
}
static int
! MemDumpCmd(struct cmd_syndesc *asp, void *arock)
{
long code;
struct ViceIoctl blob;
***************
*** 3786,3792 ****
}
static int
! MiniDumpCmd(struct cmd_syndesc *asp, char *arock)
{
BOOL success = 0;
SERVICE_STATUS status;
--- 3786,3792 ----
}
static int
! MiniDumpCmd(struct cmd_syndesc *asp, void *arock)
{
BOOL success = 0;
SERVICE_STATUS status;
***************
*** 3827,3833 ****
}
static int
! CSCPolicyCmd(struct cmd_syndesc *asp, char *arock)
{
struct cmd_item *ti;
char *share = NULL;
--- 3827,3833 ----
}
static int
! CSCPolicyCmd(struct cmd_syndesc *asp, void *arock)
{
struct cmd_item *ti;
char *share = NULL;
***************
*** 3941,3947 ****
#ifndef WIN32
/* get clients interface addresses */
static int
! GetClientAddrsCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct cmd_item *ti;
--- 3941,3947 ----
#ifndef WIN32
/* get clients interface addresses */
static int
! GetClientAddrsCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct cmd_item *ti;
***************
*** 3987,3993 ****
}
static int
! SetClientAddrsCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code, addr;
struct cmd_item *ti;
--- 3987,3993 ----
}
static int
! SetClientAddrsCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code, addr;
struct cmd_item *ti;
***************
*** 4061,4067 ****
}
static int
! FlushMountCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
struct ViceIoctl blob;
--- 4061,4067 ----
}
static int
! FlushMountCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
struct ViceIoctl blob;
***************
*** 4178,4184 ****
#endif /* WIN32 */
static int
! RxStatProcCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
afs_int32 flags = 0;
--- 4178,4184 ----
#endif /* WIN32 */
static int
! RxStatProcCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
afs_int32 flags = 0;
***************
*** 4213,4219 ****
}
static int
! RxStatPeerCmd(struct cmd_syndesc *as, char *arock)
{
afs_int32 code;
afs_int32 flags = 0;
--- 4213,4219 ----
}
static int
! RxStatPeerCmd(struct cmd_syndesc *as, void *arock)
{
afs_int32 code;
afs_int32 flags = 0;
***************
*** 4280,4311 ****
osi_Init();
#ifndef WIN32
! ts = cmd_CreateSyntax("getclientaddrs", GetClientAddrsCmd, 0,
"get client network interface addresses");
cmd_CreateAlias(ts, "gc");
! ts = cmd_CreateSyntax("setclientaddrs", SetClientAddrsCmd, 0,
"set client network interface addresses");
cmd_AddParm(ts, "-address", CMD_LIST, CMD_OPTIONAL | CMD_EXPANDS,
"client network interfaces");
cmd_CreateAlias(ts, "sc");
#endif /* WIN32 */
! ts = cmd_CreateSyntax("setserverprefs", SetPrefCmd, 0, "set server ranks");
cmd_AddParm(ts, "-servers", CMD_LIST, CMD_OPTIONAL|CMD_EXPANDS, "fileserver names and ranks");
cmd_AddParm(ts, "-vlservers", CMD_LIST, CMD_OPTIONAL|CMD_EXPANDS, "VL server names and ranks");
cmd_AddParm(ts, "-file", CMD_SINGLE, CMD_OPTIONAL, "input from named file");
cmd_AddParm(ts, "-stdin", CMD_FLAG, CMD_OPTIONAL, "input from stdin");
cmd_CreateAlias(ts, "sp");
! ts = cmd_CreateSyntax("getserverprefs", GetPrefCmd, 0, "get server ranks");
cmd_AddParm(ts, "-file", CMD_SINGLE, CMD_OPTIONAL, "output to named file");
cmd_AddParm(ts, "-numeric", CMD_FLAG, CMD_OPTIONAL, "addresses only");
cmd_AddParm(ts, "-vlservers", CMD_FLAG, CMD_OPTIONAL, "VL servers");
/* cmd_AddParm(ts, "-cell", CMD_FLAG, CMD_OPTIONAL, "cellname"); */
cmd_CreateAlias(ts, "gp");
! ts = cmd_CreateSyntax("setacl", SetACLCmd, 0, "set access control list");
cmd_AddParm(ts, "-dir", CMD_LIST, 0, "directory");
cmd_AddParm(ts, "-acl", CMD_LIST, 0, "access list entries");
cmd_AddParm(ts, "-clear", CMD_FLAG, CMD_OPTIONAL, "clear access list");
--- 4280,4311 ----
osi_Init();
#ifndef WIN32
! ts = cmd_CreateSyntax("getclientaddrs", GetClientAddrsCmd, NULL,
"get client network interface addresses");
cmd_CreateAlias(ts, "gc");
! ts = cmd_CreateSyntax("setclientaddrs", SetClientAddrsCmd, NULL,
"set client network interface addresses");
cmd_AddParm(ts, "-address", CMD_LIST, CMD_OPTIONAL | CMD_EXPANDS,
"client network interfaces");
cmd_CreateAlias(ts, "sc");
#endif /* WIN32 */
! ts = cmd_CreateSyntax("setserverprefs", SetPrefCmd, NULL, "set server ranks");
cmd_AddParm(ts, "-servers", CMD_LIST, CMD_OPTIONAL|CMD_EXPANDS, "fileserver names and ranks");
cmd_AddParm(ts, "-vlservers", CMD_LIST, CMD_OPTIONAL|CMD_EXPANDS, "VL server names and ranks");
cmd_AddParm(ts, "-file", CMD_SINGLE, CMD_OPTIONAL, "input from named file");
cmd_AddParm(ts, "-stdin", CMD_FLAG, CMD_OPTIONAL, "input from stdin");
cmd_CreateAlias(ts, "sp");
! ts = cmd_CreateSyntax("getserverprefs", GetPrefCmd, NULL, "get server ranks");
cmd_AddParm(ts, "-file", CMD_SINGLE, CMD_OPTIONAL, "output to named file");
cmd_AddParm(ts, "-numeric", CMD_FLAG, CMD_OPTIONAL, "addresses only");
cmd_AddParm(ts, "-vlservers", CMD_FLAG, CMD_OPTIONAL, "VL servers");
/* cmd_AddParm(ts, "-cell", CMD_FLAG, CMD_OPTIONAL, "cellname"); */
cmd_CreateAlias(ts, "gp");
! ts = cmd_CreateSyntax("setacl", SetACLCmd, NULL, "set access control list");
cmd_AddParm(ts, "-dir", CMD_LIST, 0, "directory");
cmd_AddParm(ts, "-acl", CMD_LIST, 0, "access list entries");
cmd_AddParm(ts, "-clear", CMD_FLAG, CMD_OPTIONAL, "clear access list");
***************
*** 4315,4331 ****
cmd_AddParm(ts, "-if", CMD_FLAG, CMD_OPTIONAL, "initial file acl (DFS only)");
cmd_CreateAlias(ts, "sa");
! ts = cmd_CreateSyntax("listacl", ListACLCmd, 0, "list access control list");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
parm_listacl_id = ts->nParms;
cmd_AddParm(ts, "-id", CMD_FLAG, CMD_OPTIONAL, "initial directory acl");
cmd_AddParm(ts, "-if", CMD_FLAG, CMD_OPTIONAL, "initial file acl");
cmd_CreateAlias(ts, "la");
! ts = cmd_CreateSyntax("cleanacl", CleanACLCmd, 0, "clean up access control list");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("copyacl", CopyACLCmd, 0, "copy access control list");
cmd_AddParm(ts, "-fromdir", CMD_SINGLE, 0, "source directory (or DFS file)");
cmd_AddParm(ts, "-todir", CMD_LIST, 0, "destination directory (or DFS file)");
cmd_AddParm(ts, "-clear", CMD_FLAG, CMD_OPTIONAL, "first clear dest access list");
--- 4315,4331 ----
cmd_AddParm(ts, "-if", CMD_FLAG, CMD_OPTIONAL, "initial file acl (DFS only)");
cmd_CreateAlias(ts, "sa");
! ts = cmd_CreateSyntax("listacl", ListACLCmd, NULL, "list access control list");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
parm_listacl_id = ts->nParms;
cmd_AddParm(ts, "-id", CMD_FLAG, CMD_OPTIONAL, "initial directory acl");
cmd_AddParm(ts, "-if", CMD_FLAG, CMD_OPTIONAL, "initial file acl");
cmd_CreateAlias(ts, "la");
! ts = cmd_CreateSyntax("cleanacl", CleanACLCmd, NULL, "clean up access control list");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("copyacl", CopyACLCmd, NULL, "copy access control list");
cmd_AddParm(ts, "-fromdir", CMD_SINGLE, 0, "source directory (or DFS file)");
cmd_AddParm(ts, "-todir", CMD_LIST, 0, "destination directory (or DFS file)");
cmd_AddParm(ts, "-clear", CMD_FLAG, CMD_OPTIONAL, "first clear dest access list");
***************
*** 4335,4350 ****
cmd_CreateAlias(ts, "ca");
! ts = cmd_CreateSyntax("flush", FlushCmd, 0, "flush file from cache");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
#ifndef WIN32
! ts = cmd_CreateSyntax("flushmount", FlushMountCmd, 0,
"flush mount symlink from cache");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
#endif
! ts = cmd_CreateSyntax("setvol", SetVolCmd, 0, "set volume status");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
cmd_AddParm(ts, "-max", CMD_SINGLE, CMD_OPTIONAL, "disk space quota in 1K units");
#ifdef notdef
--- 4335,4350 ----
cmd_CreateAlias(ts, "ca");
! ts = cmd_CreateSyntax("flush", FlushCmd, NULL, "flush file from cache");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
#ifndef WIN32
! ts = cmd_CreateSyntax("flushmount", FlushMountCmd, NULL,
"flush mount symlink from cache");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
#endif
! ts = cmd_CreateSyntax("setvol", SetVolCmd, NULL, "set volume status");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
cmd_AddParm(ts, "-max", CMD_SINGLE, CMD_OPTIONAL, "disk space quota in 1K units");
#ifdef notdef
***************
*** 4354,4382 ****
cmd_AddParm(ts, "-offlinemsg", CMD_SINGLE, CMD_OPTIONAL, "offline message");
cmd_CreateAlias(ts, "sv");
! ts = cmd_CreateSyntax("messages", MessagesCmd, 0, "control Cache Manager messages");
cmd_AddParm(ts, "-show", CMD_SINGLE, CMD_OPTIONAL, "[user|console|all|none]");
! ts = cmd_CreateSyntax("examine", ExamineCmd, 0, "display file/volume status");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
cmd_CreateAlias(ts, "lv");
cmd_CreateAlias(ts, "listvol");
! ts = cmd_CreateSyntax("listquota", ListQuotaCmd, 0, "list volume quota");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
cmd_CreateAlias(ts, "lq");
! ts = cmd_CreateSyntax("diskfree", DiskFreeCmd, 0, "show server disk space usage");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
cmd_CreateAlias(ts, "df");
! ts = cmd_CreateSyntax("quota", QuotaCmd, 0, "show volume quota usage");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("lsmount", ListMountCmd, 0, "list mount point");
cmd_AddParm(ts, "-dir", CMD_LIST, 0, "directory");
! ts = cmd_CreateSyntax("mkmount", MakeMountCmd, 0, "make mount point");
cmd_AddParm(ts, "-dir", CMD_SINGLE, 0, "directory");
cmd_AddParm(ts, "-vol", CMD_SINGLE, 0, "volume name");
cmd_AddParm(ts, "-cell", CMD_SINGLE, CMD_OPTIONAL, "cell name");
--- 4354,4382 ----
cmd_AddParm(ts, "-offlinemsg", CMD_SINGLE, CMD_OPTIONAL, "offline message");
cmd_CreateAlias(ts, "sv");
! ts = cmd_CreateSyntax("messages", MessagesCmd, NULL, "control Cache Manager messages");
cmd_AddParm(ts, "-show", CMD_SINGLE, CMD_OPTIONAL, "[user|console|all|none]");
! ts = cmd_CreateSyntax("examine", ExamineCmd, NULL, "display file/volume status");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
cmd_CreateAlias(ts, "lv");
cmd_CreateAlias(ts, "listvol");
! ts = cmd_CreateSyntax("listquota", ListQuotaCmd, NULL, "list volume quota");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
cmd_CreateAlias(ts, "lq");
! ts = cmd_CreateSyntax("diskfree", DiskFreeCmd, NULL, "show server disk space usage");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
cmd_CreateAlias(ts, "df");
! ts = cmd_CreateSyntax("quota", QuotaCmd, NULL, "show volume quota usage");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("lsmount", ListMountCmd, NULL, "list mount point");
cmd_AddParm(ts, "-dir", CMD_LIST, 0, "directory");
! ts = cmd_CreateSyntax("mkmount", MakeMountCmd, NULL, "make mount point");
cmd_AddParm(ts, "-dir", CMD_SINGLE, 0, "directory");
cmd_AddParm(ts, "-vol", CMD_SINGLE, 0, "volume name");
cmd_AddParm(ts, "-cell", CMD_SINGLE, CMD_OPTIONAL, "cell name");
***************
*** 4391,4421 ****
*/
! ts = cmd_CreateSyntax("rmmount", RemoveMountCmd, 0, "remove mount point");
cmd_AddParm(ts, "-dir", CMD_LIST, 0, "directory");
! ts = cmd_CreateSyntax("checkservers", CheckServersCmd, 0, "check local cell's servers");
cmd_AddParm(ts, "-cell", CMD_SINGLE, CMD_OPTIONAL, "cell to check");
cmd_AddParm(ts, "-all", CMD_FLAG, CMD_OPTIONAL, "check all cells");
cmd_AddParm(ts, "-fast", CMD_FLAG, CMD_OPTIONAL, "just list, don't check");
cmd_AddParm(ts,"-interval",CMD_SINGLE,CMD_OPTIONAL,"seconds between probes");
! ts = cmd_CreateSyntax("checkvolumes", CheckVolumesCmd,0, "check volumeID/name mappings");
cmd_CreateAlias(ts, "checkbackups");
! ts = cmd_CreateSyntax("setcachesize", SetCacheSizeCmd, 0, "set cache size");
cmd_AddParm(ts, "-blocks", CMD_SINGLE, CMD_OPTIONAL, "size in 1K byte blocks (0 => reset)");
cmd_CreateAlias(ts, "cachesize");
cmd_AddParm(ts, "-reset", CMD_FLAG, CMD_OPTIONAL, "reset size back to boot value");
! ts = cmd_CreateSyntax("getcacheparms", GetCacheParmsCmd, 0, "get cache usage info");
! ts = cmd_CreateSyntax("listcells", ListCellsCmd, 0, "list configured cells");
cmd_AddParm(ts, "-numeric", CMD_FLAG, CMD_OPTIONAL, "addresses only");
! ts = cmd_CreateSyntax("setquota", SetQuotaCmd, 0, "set volume quota");
cmd_AddParm(ts, "-path", CMD_SINGLE, CMD_OPTIONAL, "dir/file path");
cmd_AddParm(ts, "-max", CMD_SINGLE, 0, "max quota in kbytes");
#ifdef notdef
--- 4391,4421 ----
*/
! ts = cmd_CreateSyntax("rmmount", RemoveMountCmd, NULL, "remove mount point");
cmd_AddParm(ts, "-dir", CMD_LIST, 0, "directory");
! ts = cmd_CreateSyntax("checkservers", CheckServersCmd, NULL, "check local cell's servers");
cmd_AddParm(ts, "-cell", CMD_SINGLE, CMD_OPTIONAL, "cell to check");
cmd_AddParm(ts, "-all", CMD_FLAG, CMD_OPTIONAL, "check all cells");
cmd_AddParm(ts, "-fast", CMD_FLAG, CMD_OPTIONAL, "just list, don't check");
cmd_AddParm(ts,"-interval",CMD_SINGLE,CMD_OPTIONAL,"seconds between probes");
! ts = cmd_CreateSyntax("checkvolumes", CheckVolumesCmd, NULL, "check volumeID/name mappings");
cmd_CreateAlias(ts, "checkbackups");
! ts = cmd_CreateSyntax("setcachesize", SetCacheSizeCmd, NULL, "set cache size");
cmd_AddParm(ts, "-blocks", CMD_SINGLE, CMD_OPTIONAL, "size in 1K byte blocks (0 => reset)");
cmd_CreateAlias(ts, "cachesize");
cmd_AddParm(ts, "-reset", CMD_FLAG, CMD_OPTIONAL, "reset size back to boot value");
! ts = cmd_CreateSyntax("getcacheparms", GetCacheParmsCmd, NULL, "get cache usage info");
! ts = cmd_CreateSyntax("listcells", ListCellsCmd, NULL, "list configured cells");
cmd_AddParm(ts, "-numeric", CMD_FLAG, CMD_OPTIONAL, "addresses only");
! ts = cmd_CreateSyntax("setquota", SetQuotaCmd, NULL, "set volume quota");
cmd_AddParm(ts, "-path", CMD_SINGLE, CMD_OPTIONAL, "dir/file path");
cmd_AddParm(ts, "-max", CMD_SINGLE, 0, "max quota in kbytes");
#ifdef notdef
***************
*** 4423,4429 ****
#endif
cmd_CreateAlias(ts, "sq");
! ts = cmd_CreateSyntax("newcell", NewCellCmd, 0, "configure new cell");
#ifndef WIN32
cmd_AddParm(ts, "-name", CMD_SINGLE, 0, "cell name");
cmd_AddParm(ts, "-servers", CMD_LIST, CMD_REQUIRED, "primary servers");
--- 4423,4429 ----
#endif
cmd_CreateAlias(ts, "sq");
! ts = cmd_CreateSyntax("newcell", NewCellCmd, NULL, "configure new cell");
#ifndef WIN32
cmd_AddParm(ts, "-name", CMD_SINGLE, 0, "cell name");
cmd_AddParm(ts, "-servers", CMD_LIST, CMD_REQUIRED, "primary servers");
***************
*** 4440,4485 ****
cmd_AddParm(ts, "-vlport", CMD_SINGLE, CMD_OPTIONAL, "cell's vldb server port");
#endif
! ts = cmd_CreateSyntax("newalias", NewAliasCmd, 0,
"configure new cell alias");
cmd_AddParm(ts, "-alias", CMD_SINGLE, 0, "alias name");
cmd_AddParm(ts, "-name", CMD_SINGLE, 0, "real name of cell");
#endif
! ts = cmd_CreateSyntax("whichcell", WhichCellCmd, 0, "list file's cell");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("whereis", WhereIsCmd, 0, "list file's location");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("wscell", WSCellCmd, 0, "list workstation's cell");
/*
ts = cmd_CreateSyntax("primarycell", PrimaryCellCmd, 0, "obsolete (listed primary cell)");
*/
! ts = cmd_CreateSyntax("monitor", MonitorCmd, 0, "set cache monitor host address");
cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_OPTIONAL, "host name or 'off'");
cmd_CreateAlias(ts, "mariner");
! ts = cmd_CreateSyntax("getcellstatus", GetCellCmd, 0, "get cell status");
cmd_AddParm(ts, "-cell", CMD_LIST, 0, "cell name");
! ts = cmd_CreateSyntax("setcell", SetCellCmd, 0, "set cell status");
cmd_AddParm(ts, "-cell", CMD_LIST, 0, "cell name");
cmd_AddParm(ts, "-suid", CMD_FLAG, CMD_OPTIONAL, "allow setuid programs");
cmd_AddParm(ts, "-nosuid", CMD_FLAG, CMD_OPTIONAL, "disallow setuid programs");
! ts = cmd_CreateSyntax("flushall", FlushAllCmd, 0, "flush all data");
! ts = cmd_CreateSyntax("flushvolume", FlushVolumeCmd, 0, "flush all data in volume");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("sysname", SysNameCmd, 0, "get/set sysname (i.e. @sys) value");
cmd_AddParm(ts, "-newsys", CMD_LIST, CMD_OPTIONAL, "new sysname");
! ts = cmd_CreateSyntax("exportafs", ExportAfsCmd, 0, "enable/disable translators to AFS");
cmd_AddParm(ts, "-type", CMD_SINGLE, 0, "exporter name");
cmd_AddParm(ts, "-start", CMD_SINGLE, CMD_OPTIONAL, "start/stop translator ('on' or 'off')");
cmd_AddParm(ts, "-convert", CMD_SINGLE, CMD_OPTIONAL, "convert from afs to unix mode ('on or 'off')");
--- 4440,4485 ----
cmd_AddParm(ts, "-vlport", CMD_SINGLE, CMD_OPTIONAL, "cell's vldb server port");
#endif
! ts = cmd_CreateSyntax("newalias", NewAliasCmd, NULL,
"configure new cell alias");
cmd_AddParm(ts, "-alias", CMD_SINGLE, 0, "alias name");
cmd_AddParm(ts, "-name", CMD_SINGLE, 0, "real name of cell");
#endif
! ts = cmd_CreateSyntax("whichcell", WhichCellCmd, NULL, "list file's cell");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("whereis", WhereIsCmd, NULL, "list file's location");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("wscell", WSCellCmd, NULL, "list workstation's cell");
/*
ts = cmd_CreateSyntax("primarycell", PrimaryCellCmd, 0, "obsolete (listed primary cell)");
*/
! ts = cmd_CreateSyntax("monitor", MonitorCmd, NULL, "set cache monitor host address");
cmd_AddParm(ts, "-server", CMD_SINGLE, CMD_OPTIONAL, "host name or 'off'");
cmd_CreateAlias(ts, "mariner");
! ts = cmd_CreateSyntax("getcellstatus", GetCellCmd, NULL, "get cell status");
cmd_AddParm(ts, "-cell", CMD_LIST, 0, "cell name");
! ts = cmd_CreateSyntax("setcell", SetCellCmd, NULL, "set cell status");
cmd_AddParm(ts, "-cell", CMD_LIST, 0, "cell name");
cmd_AddParm(ts, "-suid", CMD_FLAG, CMD_OPTIONAL, "allow setuid programs");
cmd_AddParm(ts, "-nosuid", CMD_FLAG, CMD_OPTIONAL, "disallow setuid programs");
! ts = cmd_CreateSyntax("flushall", FlushAllCmd, NULL, "flush all data");
! ts = cmd_CreateSyntax("flushvolume", FlushVolumeCmd, NULL, "flush all data in volume");
cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
! ts = cmd_CreateSyntax("sysname", SysNameCmd, NULL, "get/set sysname (i.e. @sys) value");
cmd_AddParm(ts, "-newsys", CMD_LIST, CMD_OPTIONAL, "new sysname");
! ts = cmd_CreateSyntax("exportafs", ExportAfsCmd, NULL, "enable/disable translators to AFS");
cmd_AddParm(ts, "-type", CMD_SINGLE, 0, "exporter name");
cmd_AddParm(ts, "-start", CMD_SINGLE, CMD_OPTIONAL, "start/stop translator ('on' or 'off')");
cmd_AddParm(ts, "-convert", CMD_SINGLE, CMD_OPTIONAL, "convert from afs to unix mode ('on or 'off')");
Index: openafs/src/WINNT/afsd/symlink.c
diff -c openafs/src/WINNT/afsd/symlink.c:1.2.20.5 openafs/src/WINNT/afsd/symlink.c:1.2.20.6
*** openafs/src/WINNT/afsd/symlink.c:1.2.20.5 Tue Apr 10 14:43:36 2007
--- openafs/src/WINNT/afsd/symlink.c Wed Oct 31 00:13:21 2007
***************
*** 269,276 ****
}
! static ListLinkCmd(as)
! register struct cmd_syndesc *as; {
register afs_int32 code;
struct ViceIoctl blob;
int error;
--- 269,276 ----
}
! static ListLinkCmd(register struct cmd_syndesc *as, void *arock)
! {
register afs_int32 code;
struct ViceIoctl blob;
int error;
***************
*** 420,427 ****
return error;
}
! static MakeLinkCmd(as)
! register struct cmd_syndesc *as; {
register afs_int32 code;
struct ViceIoctl blob;
char * parent;
--- 420,427 ----
return error;
}
! static MakeLinkCmd(register struct cmd_syndesc *as, void *arock)
! {
register afs_int32 code;
struct ViceIoctl blob;
char * parent;
***************
*** 484,491 ****
* symlink (or ``.'' if none is provided)
* tp: Set to point to the actual name of the symlink to nuke.
*/
! static RemoveLinkCmd(as)
! register struct cmd_syndesc *as; {
register afs_int32 code=0;
struct ViceIoctl blob;
register struct cmd_item *ti;
--- 484,491 ----
* symlink (or ``.'' if none is provided)
* tp: Set to point to the actual name of the symlink to nuke.
*/
! static RemoveLinkCmd(register struct cmd_syndesc *as, void *arock)
! {
register afs_int32 code=0;
struct ViceIoctl blob;
register struct cmd_item *ti;
***************
*** 589,602 ****
osi_Init();
! ts = cmd_CreateSyntax("list", ListLinkCmd, 0, "list symlink");
cmd_AddParm(ts, "-name", CMD_LIST, 0, "name");
! ts = cmd_CreateSyntax("make", MakeLinkCmd, 0, "make symlink");
cmd_AddParm(ts, "-name", CMD_SINGLE, 0, "name");
cmd_AddParm(ts, "-to", CMD_SINGLE, 0, "target");
! ts = cmd_CreateSyntax("remove", RemoveLinkCmd, 0, "remove symlink");
cmd_AddParm(ts, "-name", CMD_LIST, 0, "name");
cmd_CreateAlias(ts, "rm");
--- 589,602 ----
osi_Init();
! ts = cmd_CreateSyntax("list", ListLinkCmd, NULL, "list symlink");
cmd_AddParm(ts, "-name", CMD_LIST, 0, "name");
! ts = cmd_CreateSyntax("make", MakeLinkCmd, NULL, "make symlink");
cmd_AddParm(ts, "-name", CMD_SINGLE, 0, "name");
cmd_AddParm(ts, "-to", CMD_SINGLE, 0, "target");
! ts = cmd_CreateSyntax("remove", RemoveLinkCmd, NULL, "remove symlink");
cmd_AddParm(ts, "-name", CMD_LIST, 0, "name");
cmd_CreateAlias(ts, "rm");
Index: openafs/src/WINNT/afsd/sample/token.c
diff -c openafs/src/WINNT/afsd/sample/token.c:1.3.2.1 openafs/src/WINNT/afsd/sample/token.c:1.3.2.2
*** openafs/src/WINNT/afsd/sample/token.c:1.3.2.1 Tue Apr 10 14:43:36 2007
--- openafs/src/WINNT/afsd/sample/token.c Wed Oct 31 00:13:21 2007
***************
*** 18,24 ****
#define KABADARGUMENT 1
#define KLOGEXIT(code) exit(code)
! int CommandProc();
static int zero_argc;
static char **zero_argv;
--- 18,24 ----
#define KABADARGUMENT 1
#define KLOGEXIT(code) exit(code)
! int CommandProc(struct cmd_syndesc *, void *);
static int zero_argc;
static char **zero_argv;
***************
*** 36,42 ****
/* Start up sockets */
WSAStartup(0x0101, &WSAjunk);
! ts = cmd_CreateSyntax((char *) 0, CommandProc, 0, "obtain Kerberos authentication");
#define aXFLAG 0
#define aPRINCIPAL 1
--- 36,42 ----
/* Start up sockets */
WSAStartup(0x0101, &WSAjunk);
! ts = cmd_CreateSyntax(NULL, CommandProc, NULL, "obtain Kerberos authentication");
#define aXFLAG 0
#define aPRINCIPAL 1
***************
*** 131,139 ****
return !ok;
}
! CommandProc (as, arock)
! char *arock;
! struct cmd_syndesc *as;
{
char name[MAXKTCNAMELEN];
char defaultCell[256];
--- 131,138 ----
return !ok;
}
! int
! CommandProc (struct cmd_syndesc *as, void *arock)
{
char name[MAXKTCNAMELEN];
char defaultCell[256];
Index: openafs/src/WINNT/afsreg/test/regman.c
diff -c openafs/src/WINNT/afsreg/test/regman.c:1.3.8.1 openafs/src/WINNT/afsreg/test/regman.c:1.3.8.2
*** openafs/src/WINNT/afsreg/test/regman.c:1.3.8.1 Tue Apr 10 14:43:37 2007
--- openafs/src/WINNT/afsreg/test/regman.c Wed Oct 31 00:13:22 2007
***************
*** 35,41 ****
static char* whoami;
! static int DoVptList(struct cmd_syndesc *as, char *arock)
{
struct vpt_iter vpiter;
struct vptab vpentry;
--- 35,41 ----
static char* whoami;
! static int DoVptList(struct cmd_syndesc *as, void *arock)
{
struct vpt_iter vpiter;
struct vptab vpentry;
***************
*** 51,57 ****
return 0;
}
! static int DoVptAdd(struct cmd_syndesc *as, char *arock)
{
char *vpName, *vpDev;
struct vptab vpentry;
--- 51,57 ----
return 0;
}
! static int DoVptAdd(struct cmd_syndesc *as, void *arock)
{
char *vpName, *vpDev;
struct vptab vpentry;
***************
*** 79,85 ****
return 0;
}
! static int DoVptDel(struct cmd_syndesc *as, char *arock)
{
char *vpName;
--- 79,85 ----
return 0;
}
! static int DoVptDel(struct cmd_syndesc *as, void *arock)
{
char *vpName;
***************
*** 98,104 ****
}
! static int DoDirGet(struct cmd_syndesc *as, char *arock)
{
char *buf;
--- 98,104 ----
}
! static int DoDirGet(struct cmd_syndesc *as, void *arock)
{
char *buf;
***************
*** 115,121 ****
}
! static int DoDirSet(struct cmd_syndesc *as, char *arock)
{
long status;
HKEY key;
--- 115,121 ----
}
! static int DoDirSet(struct cmd_syndesc *as, void *arock)
{
long status;
HKEY key;
***************
*** 143,149 ****
}
! static int DoBosCfg(struct cmd_syndesc *as, char *arock)
{
char bosSvcPath[AFSDIR_PATH_MAX];
SC_HANDLE scmHandle, svcHandle;
--- 143,149 ----
}
! static int DoBosCfg(struct cmd_syndesc *as, void *arock)
{
char bosSvcPath[AFSDIR_PATH_MAX];
SC_HANDLE scmHandle, svcHandle;
***************
*** 213,219 ****
}
! static int DoBosDel(struct cmd_syndesc *as, char *arock)
{
int rc = 0;
SC_HANDLE scmHandle, svcHandle;
--- 213,219 ----
}
! static int DoBosDel(struct cmd_syndesc *as, void *arock)
{
int rc = 0;
SC_HANDLE scmHandle, svcHandle;
***************
*** 258,264 ****
return (rc);
}
! static int DoVersionGet(struct cmd_syndesc *as, char *arock)
{
unsigned major, minor, patch;
--- 258,264 ----
return (rc);
}
! static int DoVersionGet(struct cmd_syndesc *as, void *arock)
{
unsigned major, minor, patch;
***************
*** 286,300 ****
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("vptlist", DoVptList, 0,
"list vice partition table");
! ts = cmd_CreateSyntax("vptadd", DoVptAdd, 0,
"add entry to vice partition table");
cmd_AddParm(ts, "-partition", CMD_SINGLE, CMD_REQUIRED, "partition name");
cmd_AddParm(ts, "-dev", CMD_SINGLE, CMD_REQUIRED, "device name");
! ts = cmd_CreateSyntax("vptdel", DoVptDel, 0,
"remove entry from vice partition table");
cmd_AddParm(ts, "-partition", CMD_SINGLE, CMD_REQUIRED, "partition name");
}
--- 286,300 ----
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("vptlist", DoVptList, NULL,
"list vice partition table");
! ts = cmd_CreateSyntax("vptadd", DoVptAdd, NULL,
"add entry to vice partition table");
cmd_AddParm(ts, "-partition", CMD_SINGLE, CMD_REQUIRED, "partition name");
cmd_AddParm(ts, "-dev", CMD_SINGLE, CMD_REQUIRED, "device name");
! ts = cmd_CreateSyntax("vptdel", DoVptDel, NULL,
"remove entry from vice partition table");
cmd_AddParm(ts, "-partition", CMD_SINGLE, CMD_REQUIRED, "partition name");
}
***************
*** 304,313 ****
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("dirget", DoDirGet, 0,
"display the AFS server installation directory");
! ts = cmd_CreateSyntax("dirset", DoDirSet, 0,
"set the AFS server installation directory");
cmd_AddParm(ts, "-path", CMD_SINGLE, CMD_REQUIRED, "directory path");
}
--- 304,313 ----
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("dirget", DoDirGet, NULL,
"display the AFS server installation directory");
! ts = cmd_CreateSyntax("dirset", DoDirSet, NULL,
"set the AFS server installation directory");
cmd_AddParm(ts, "-path", CMD_SINGLE, CMD_REQUIRED, "directory path");
}
***************
*** 317,327 ****
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("boscfg", DoBosCfg, 0,
"configure the AFS BOS control service");
cmd_AddParm(ts, "-path", CMD_SINGLE, CMD_OPTIONAL, "service binary path");
! ts = cmd_CreateSyntax("bosdel", DoBosDel, 0,
"delete (unconfigure) the AFS BOS control service");
}
--- 317,327 ----
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("boscfg", DoBosCfg, NULL,
"configure the AFS BOS control service");
cmd_AddParm(ts, "-path", CMD_SINGLE, CMD_OPTIONAL, "service binary path");
! ts = cmd_CreateSyntax("bosdel", DoBosDel, NULL,
"delete (unconfigure) the AFS BOS control service");
}
***************
*** 330,336 ****
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("version", DoVersionGet, 0,
"display AFS version information");
}
--- 330,336 ----
{
struct cmd_syndesc *ts;
! ts = cmd_CreateSyntax("version", DoVersionGet, NULL,
"display AFS version information");
}
Index: openafs/src/afs/afs.h
diff -c openafs/src/afs/afs.h:1.48.2.30 openafs/src/afs/afs.h:1.48.2.31
*** openafs/src/afs/afs.h:1.48.2.30 Wed Oct 10 12:57:54 2007
--- openafs/src/afs/afs.h Mon Nov 26 16:21:44 2007
***************
*** 914,919 ****
--- 914,922 ----
#endif
#endif
+
+ #ifdef KERNEL
+ /* it does not compile outside kernel */
struct buffer {
afs_int32 fid; /* is adc->index, the cache file number */
afs_inode_t inode; /* is adc->f.inode, the inode number of the cac\
***************
*** 941,946 ****
--- 944,950 ----
afs_int32 chunkBytes; /* Num bytes in this chunk */
char states; /* Has this chunk been modified? */
};
+ #endif
/* magic numbers to specify the cache type */
Index: openafs/src/afs/afs_buffer.c
diff -c openafs/src/afs/afs_buffer.c:1.16.2.6 openafs/src/afs/afs_buffer.c:1.16.2.7
*** openafs/src/afs/afs_buffer.c:1.16.2.6 Tue Jan 24 12:41:20 2006
--- openafs/src/afs/afs_buffer.c Thu Dec 13 14:18:47 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_buffer.c,v 1.16.2.6 2006/01/24 17:41:20 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_buffer.c,v 1.16.2.7 2007/12/13 19:18:47 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
***************
*** 534,540 ****
register struct buffer *tp;
#endif
int i;
- extern int afs_cold_shutdown;
AFS_STATCNT(shutdown_bufferpackage);
/* Free all allocated Buffers and associated buffer pages */
--- 534,539 ----
Index: openafs/src/afs/afs_call.c
diff -c openafs/src/afs/afs_call.c:1.74.2.25 openafs/src/afs/afs_call.c:1.74.2.30
*** openafs/src/afs/afs_call.c:1.74.2.25 Tue Oct 16 23:51:44 2007
--- openafs/src/afs/afs_call.c Fri Apr 18 10:06:50 2008
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.25 2007/10/17 03:51:44 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.30 2008/04/18 14:06:50 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 581,586 ****
--- 581,587 ----
#endif /* RXK_LISTENER_ENV */
afs_osi_Invisible();
afs_RXCallBackServer();
+ afs_osi_Visible();
}
#ifdef AFS_SGI_ENV
AFS_GUNLOCK();
***************
*** 609,614 ****
--- 610,616 ----
afs_osi_RxkRegister();
#endif /* !UKERNEL */
rxk_Listener();
+ afs_osi_Visible();
}
#ifdef AFS_SGI_ENV
AFS_GUNLOCK();
***************
*** 628,633 ****
--- 630,636 ----
afs_osi_Wakeup(&afs_initState);
afs_osi_Invisible();
afs_Daemon();
+ afs_osi_Visible();
#ifdef AFS_SGI_ENV
AFS_GUNLOCK();
exit(CLD_EXITED, 0);
***************
*** 635,640 ****
--- 638,644 ----
} else if (parm == AFSOP_START_CS) {
afs_osi_Invisible();
afs_CheckServerDaemon();
+ afs_osi_Visible();
#ifdef AFS_SGI_ENV
AFS_GUNLOCK();
exit(CLD_EXITED, 0);
***************
*** 654,659 ****
--- 658,664 ----
else
#endif /* AFS_AIX32_ENV */
afs_BackgroundDaemon();
+ afs_osi_Visible();
#ifdef AFS_SGI_ENV
AFS_GUNLOCK();
exit(CLD_EXITED, 0);
***************
*** 664,669 ****
--- 669,675 ----
/* start the bkg daemon */
afs_osi_Invisible();
afs_CacheTruncateDaemon();
+ afs_osi_Visible();
#ifdef AFS_SGI_ENV
AFS_GUNLOCK();
exit(CLD_EXITED, 0);
***************
*** 675,680 ****
--- 681,687 ----
afs_osi_Sleep(&afs_initState);
afs_osi_Invisible();
afs_rxevent_daemon();
+ afs_osi_Visible();
#ifdef AFS_SGI_ENV
AFS_GUNLOCK();
exit(CLD_EXITED, 0);
***************
*** 1408,1414 ****
--- 1415,1425 ----
if (current->thread.flags & THREAD_IA32)
#elif defined(AFS_PPC64_LINUX26_ENV)
+ #if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
if (current->thread_info->flags & _TIF_32BIT)
+ #else
+ if (task_thread_info(current)->flags & _TIF_32BIT)
+ #endif
#elif defined(AFS_PPC64_LINUX20_ENV)
if (current->thread.flags & PPC_FLAG_32BIT)
***************
*** 1864,1875 ****
#endif
afs_warn("\n");
! /* Close file only after daemons which can write to it are stopped. */
! if (afs_cacheInodep) { /* memcache won't set this */
! osi_UFSClose(afs_cacheInodep); /* Since we always leave it open */
! afs_cacheInodep = 0;
! }
! return; /* Just kill daemons for now */
#ifdef notdef
shutdown_CB();
shutdown_AFS();
--- 1875,1884 ----
#endif
afs_warn("\n");
! #ifdef AFS_AIX51_ENV
! shutdown_daemons();
! #endif
!
#ifdef notdef
shutdown_CB();
shutdown_AFS();
***************
*** 1877,1897 ****
shutdown_rxevent();
shutdown_rx();
afs_shutdown_BKG();
- shutdown_bufferpackage();
- #endif
- #ifdef AFS_AIX51_ENV
- shutdown_daemons();
#endif
! #ifdef notdef
shutdown_cache();
shutdown_osi();
shutdown_osinet();
shutdown_osifile();
shutdown_vnodeops();
- shutdown_vfsops();
- shutdown_exporter();
shutdown_memcache();
#if (!defined(AFS_NONFSTRANS) || defined(AFS_AIX_IAUTH_ENV)) && !defined(AFS_OSF_ENV)
shutdown_nfsclnt();
#endif
shutdown_afstest();
--- 1886,1901 ----
shutdown_rxevent();
shutdown_rx();
afs_shutdown_BKG();
#endif
! shutdown_bufferpackage();
shutdown_cache();
shutdown_osi();
shutdown_osinet();
shutdown_osifile();
shutdown_vnodeops();
shutdown_memcache();
#if (!defined(AFS_NONFSTRANS) || defined(AFS_AIX_IAUTH_ENV)) && !defined(AFS_OSF_ENV)
+ shutdown_exporter();
shutdown_nfsclnt();
#endif
shutdown_afstest();
***************
*** 1902,1909 ****
memset(&afs_stats_cmfullperf, 0, sizeof(struct afs_stats_CMFullPerf));
*/
afs_warn(" ALL allocated tables\n");
afs_shuttingdown = 0;
! #endif
}
void
--- 1906,1921 ----
memset(&afs_stats_cmfullperf, 0, sizeof(struct afs_stats_CMFullPerf));
*/
afs_warn(" ALL allocated tables\n");
+
+ /* Close file only after daemons which can write to it are stopped. */
+ if (afs_cacheInodep) { /* memcache won't set this */
+ osi_UFSClose(afs_cacheInodep); /* Since we always leave it open */
+ afs_cacheInodep = 0;
+ }
+
afs_shuttingdown = 0;
!
! return; /* Just kill daemons for now */
}
void
Index: openafs/src/afs/afs_callback.c
diff -c openafs/src/afs/afs_callback.c:1.27.2.8 openafs/src/afs/afs_callback.c:1.27.2.10
*** openafs/src/afs/afs_callback.c:1.27.2.8 Fri Feb 2 22:25:18 2007
--- openafs/src/afs/afs_callback.c Mon Mar 10 18:35:33 2008
***************
*** 17,23 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_callback.c,v 1.27.2.8 2007/02/03 03:25:18 shadow Exp $");
#include "afs/sysincludes.h" /*Standard vendor system headers */
#include "afsincludes.h" /*AFS-based standard headers */
--- 17,23 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_callback.c,v 1.27.2.10 2008/03/10 22:35:33 shadow Exp $");
#include "afs/sysincludes.h" /*Standard vendor system headers */
#include "afsincludes.h" /*AFS-based standard headers */
***************
*** 61,67 ****
{
"afs_xsrvAddr", (char *)&afs_xsrvAddr},
{
! "afs_xvreclaim", (char *)&afs_xvreclaim}
};
unsigned long lastCallBack_vnode;
unsigned int lastCallBack_dv;
--- 61,71 ----
{
"afs_xsrvAddr", (char *)&afs_xsrvAddr},
{
! "afs_xvreclaim", (char *)&afs_xvreclaim},
! #ifdef AFS_AFSDB_ENV
! { "afsdb_client_lock", (char *)&afsdb_client_lock},
! { "afsdb_req_lock", (char *)&afsdb_req_lock},
! #endif
};
unsigned long lastCallBack_vnode;
unsigned int lastCallBack_dv;
***************
*** 307,317 ****
AFS_STATCNT(SRXAFSCB_GetLock);
nentries = sizeof(ltable) / sizeof(struct ltable);
! if (a_index < 0 || a_index >= nentries) {
/*
* Past EOF
*/
code = 1;
} else {
/*
* Found it - copy out its contents.
--- 311,345 ----
AFS_STATCNT(SRXAFSCB_GetLock);
nentries = sizeof(ltable) / sizeof(struct ltable);
! if (a_index < 0 || a_index >= nentries+afs_cellindex) {
/*
* Past EOF
*/
code = 1;
+ } else if (a_index >= nentries) {
+ struct cell *tc = afs_GetCellByIndex(a_index-nentries, 0);
+ strcpy(a_result->name, tc->cellName);
+ a_result->lock.waitStates =
+ ((struct afs_lock *)&(tc->lock))->wait_states;
+ a_result->lock.exclLocked =
+ ((struct afs_lock *)&(tc->lock))->excl_locked;
+ a_result->lock.readersReading =
+ ((struct afs_lock *)&(tc->lock))->readers_reading;
+ a_result->lock.numWaiting =
+ ((struct afs_lock *)&(tc->lock))->num_waiting;
+ #ifdef INSTRUMENT_LOCKS
+ a_result->lock.pid_last_reader =
+ MyPidxx2Pid(((struct afs_lock *)&(tc->lock))->pid_last_reader);
+ a_result->lock.pid_writer =
+ MyPidxx2Pid(((struct afs_lock *)&(tc->lock))->pid_writer);
+ a_result->lock.src_indicator =
+ ((struct afs_lock *)&(tc->lock))->src_indicator;
+ #else
+ a_result->lock.pid_last_reader = 0;
+ a_result->lock.pid_writer = 0;
+ a_result->lock.src_indicator = 0;
+ #endif
+ code = 0;
} else {
/*
* Found it - copy out its contents.
***************
*** 981,987 ****
/*
* Donate this process to Rx.
*/
! rx_ServerProc();
return (0);
} /*afs_RXCallBackServer */
--- 1009,1015 ----
/*
* Donate this process to Rx.
*/
! rx_ServerProc(NULL);
return (0);
} /*afs_RXCallBackServer */
Index: openafs/src/afs/afs_cell.c
diff -c openafs/src/afs/afs_cell.c:1.30.2.4 openafs/src/afs/afs_cell.c:1.30.2.6
*** openafs/src/afs/afs_cell.c:1.30.2.4 Mon Mar 19 20:52:20 2007
--- openafs/src/afs/afs_cell.c Tue Dec 4 15:33:17 2007
***************
*** 14,20 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.30.2.4 2007/03/20 00:52:20 shadow Exp $");
#include "afs/stds.h"
#include "afs/sysincludes.h" /* Standard vendor system headers */
--- 14,20 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.30.2.6 2007/12/04 20:33:17 shadow Exp $");
#include "afs/stds.h"
#include "afs/sysincludes.h" /* Standard vendor system headers */
***************
*** 35,52 ****
*/
#ifdef AFS_AFSDB_ENV
! static afs_rwlock_t afsdb_client_lock; /* Serializes client requests */
static char afsdb_handler_running; /* Protected by GLOCK */
static char afsdb_handler_shutdown; /* Protected by GLOCK */
static struct {
! afs_rwlock_t lock;
char pending;
char complete;
char *cellname;
- afs_int32 *cellhosts;
- int *timeout;
- char **realname;
} afsdb_req;
void
--- 35,52 ----
*/
#ifdef AFS_AFSDB_ENV
! afs_rwlock_t afsdb_client_lock; /* Serializes client requests */
! afs_rwlock_t afsdb_req_lock; /* Serializes client requests */
static char afsdb_handler_running; /* Protected by GLOCK */
static char afsdb_handler_shutdown; /* Protected by GLOCK */
+ /* from cellconfig.h */
+ #define MAXCELLCHARS 64
static struct {
! /* lock moved to afsdb_req_lock for cmdebug */
char pending;
char complete;
char *cellname;
} afsdb_req;
void
***************
*** 63,108 ****
int
afs_AFSDBHandler(char *acellName, int acellNameLen, afs_int32 * kernelMsg)
{
if (afsdb_handler_shutdown)
return -2;
afsdb_handler_running = 1;
! ObtainSharedLock(&afsdb_req.lock, 683);
if (afsdb_req.pending) {
int i, hostCount;
! UpgradeSToWLock(&afsdb_req.lock, 684);
hostCount = kernelMsg[0];
! *afsdb_req.timeout = kernelMsg[1];
! if (*afsdb_req.timeout)
! *afsdb_req.timeout += osi_Time();
! *afsdb_req.realname = afs_strdup(acellName);
for (i = 0; i < MAXCELLHOSTS; i++) {
if (i >= hostCount)
! afsdb_req.cellhosts[i] = 0;
else
! afsdb_req.cellhosts[i] = kernelMsg[2 + i];
}
/* Request completed, wake up the relevant thread */
afsdb_req.pending = 0;
afsdb_req.complete = 1;
afs_osi_Wakeup(&afsdb_req);
! ConvertWToSLock(&afsdb_req.lock);
}
! ConvertSToRLock(&afsdb_req.lock);
/* Wait for a request */
while (afsdb_req.pending == 0 && afs_termState != AFSOP_STOP_AFSDB) {
! ReleaseReadLock(&afsdb_req.lock);
afs_osi_Sleep(&afsdb_req);
! ObtainReadLock(&afsdb_req.lock);
}
/* Check if we're shutting down */
if (afs_termState == AFSOP_STOP_AFSDB) {
! ReleaseReadLock(&afsdb_req.lock);
/* Inform anyone waiting for us that we're going away */
afsdb_handler_shutdown = 1;
--- 63,122 ----
int
afs_AFSDBHandler(char *acellName, int acellNameLen, afs_int32 * kernelMsg)
{
+ afs_int32 timeout, code;
+ afs_int32 cellHosts[MAXCELLHOSTS];
+
if (afsdb_handler_shutdown)
return -2;
afsdb_handler_running = 1;
! ObtainSharedLock(&afsdb_req_lock, 683);
if (afsdb_req.pending) {
int i, hostCount;
! UpgradeSToWLock(&afsdb_req_lock, 684);
hostCount = kernelMsg[0];
! timeout = kernelMsg[1];
! if (timeout)
! timeout += osi_Time();
for (i = 0; i < MAXCELLHOSTS; i++) {
if (i >= hostCount)
! cellHosts[i] = 0;
else
! cellHosts[i] = kernelMsg[2 + i];
}
+ if (hostCount)
+ code = afs_NewCell(acellName, cellHosts, CNoSUID, NULL, 0, 0,
+ timeout);
+
+ if (!hostCount || (code && code != EEXIST))
+ /* null out the cellname if the lookup failed */
+ afsdb_req.cellname = NULL;
+ else
+ /* If we found an alias, create it */
+ if (afs_strcasecmp(afsdb_req.cellname, acellName))
+ afs_NewCellAlias(afsdb_req.cellname, acellName);
+
/* Request completed, wake up the relevant thread */
afsdb_req.pending = 0;
afsdb_req.complete = 1;
afs_osi_Wakeup(&afsdb_req);
! ConvertWToSLock(&afsdb_req_lock);
}
! ConvertSToRLock(&afsdb_req_lock);
/* Wait for a request */
while (afsdb_req.pending == 0 && afs_termState != AFSOP_STOP_AFSDB) {
! ReleaseReadLock(&afsdb_req_lock);
afs_osi_Sleep(&afsdb_req);
! ObtainReadLock(&afsdb_req_lock);
}
/* Check if we're shutting down */
if (afs_termState == AFSOP_STOP_AFSDB) {
! ReleaseReadLock(&afsdb_req_lock);
/* Inform anyone waiting for us that we're going away */
afsdb_handler_shutdown = 1;
***************
*** 116,158 ****
/* Return the lookup request to userspace */
strncpy(acellName, afsdb_req.cellname, acellNameLen);
! ReleaseReadLock(&afsdb_req.lock);
return 0;
}
static int
! afs_GetCellHostsAFSDB(char *acellName, afs_int32 * acellHosts, int *timeout,
! char **realName)
{
AFS_ASSERT_GLOCK();
if (!afsdb_handler_running)
return ENOENT;
ObtainWriteLock(&afsdb_client_lock, 685);
! ObtainWriteLock(&afsdb_req.lock, 686);
- *acellHosts = 0;
afsdb_req.cellname = acellName;
- afsdb_req.cellhosts = acellHosts;
- afsdb_req.timeout = timeout;
- afsdb_req.realname = realName;
afsdb_req.complete = 0;
afsdb_req.pending = 1;
afs_osi_Wakeup(&afsdb_req);
! ConvertWToRLock(&afsdb_req.lock);
while (afsdb_handler_running && !afsdb_req.complete) {
! ReleaseReadLock(&afsdb_req.lock);
afs_osi_Sleep(&afsdb_req);
! ObtainReadLock(&afsdb_req.lock);
};
! ReleaseReadLock(&afsdb_req.lock);
ReleaseWriteLock(&afsdb_client_lock);
! if (*acellHosts)
return 0;
! else
return ENOENT;
}
#endif
--- 130,167 ----
/* Return the lookup request to userspace */
strncpy(acellName, afsdb_req.cellname, acellNameLen);
! ReleaseReadLock(&afsdb_req_lock);
return 0;
}
static int
! afs_GetCellHostsAFSDB(char *acellName)
{
AFS_ASSERT_GLOCK();
if (!afsdb_handler_running)
return ENOENT;
ObtainWriteLock(&afsdb_client_lock, 685);
! ObtainWriteLock(&afsdb_req_lock, 686);
afsdb_req.cellname = acellName;
afsdb_req.complete = 0;
afsdb_req.pending = 1;
afs_osi_Wakeup(&afsdb_req);
! ConvertWToRLock(&afsdb_req_lock);
while (afsdb_handler_running && !afsdb_req.complete) {
! ReleaseReadLock(&afsdb_req_lock);
afs_osi_Sleep(&afsdb_req);
! ObtainReadLock(&afsdb_req_lock);
};
! ReleaseReadLock(&afsdb_req_lock);
ReleaseWriteLock(&afsdb_client_lock);
! if (afsdb_req.cellname) {
return 0;
! } else
return ENOENT;
}
#endif
***************
*** 161,184 ****
afs_LookupAFSDB(char *acellName)
{
#ifdef AFS_AFSDB_ENV
! afs_int32 cellHosts[MAXCELLHOSTS];
! char *realName = NULL;
! int code, timeout;
! code = afs_GetCellHostsAFSDB(acellName, cellHosts, &timeout, &realName);
! if (code)
! goto done;
! code = afs_NewCell(realName, cellHosts, CNoSUID, NULL, 0, 0, timeout);
! if (code && code != EEXIST)
! goto done;
!
! /* If we found an alias, create it */
! if (afs_strcasecmp(acellName, realName))
! afs_NewCellAlias(acellName, realName);
!
! done:
! if (realName)
! afs_osi_FreeStr(realName);
#endif
}
--- 170,183 ----
afs_LookupAFSDB(char *acellName)
{
#ifdef AFS_AFSDB_ENV
! int code;
! char *cellName = afs_strdup(acellName);
!
! code = afs_GetCellHostsAFSDB(cellName);
! afs_Trace2(afs_iclSetp, CM_TRACE_AFSDB, ICL_TYPE_STRING, cellName,
! ICL_TYPE_INT32, code);
! afs_osi_FreeStr(cellName);
#endif
}
***************
*** 819,825 ****
RWLOCK_INIT(&afs_xcell, "afs_xcell");
#ifdef AFS_AFSDB_ENV
RWLOCK_INIT(&afsdb_client_lock, "afsdb_client_lock");
! RWLOCK_INIT(&afsdb_req.lock, "afsdb_req.lock");
#endif
QInit(&CellLRU);
--- 818,824 ----
RWLOCK_INIT(&afs_xcell, "afs_xcell");
#ifdef AFS_AFSDB_ENV
RWLOCK_INIT(&afsdb_client_lock, "afsdb_client_lock");
! RWLOCK_INIT(&afsdb_req_lock, "afsdb_req_lock");
#endif
QInit(&CellLRU);
Index: openafs/src/afs/afs_dcache.c
diff -c openafs/src/afs/afs_dcache.c:1.42.2.22 openafs/src/afs/afs_dcache.c:1.42.2.23
*** openafs/src/afs/afs_dcache.c:1.42.2.22 Mon Aug 20 13:53:15 2007
--- openafs/src/afs/afs_dcache.c Sat Dec 8 13:00:44 2007
***************
*** 14,20 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.42.2.22 2007/08/20 17:53:15 shadow Exp $");
#include "afs/sysincludes.h" /*Standard vendor system headers */
#include "afsincludes.h" /*AFS-based standard headers */
--- 14,20 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.42.2.23 2007/12/08 18:00:44 shadow Exp $");
#include "afs/sysincludes.h" /*Standard vendor system headers */
#include "afsincludes.h" /*AFS-based standard headers */
***************
*** 2860,2865 ****
--- 2860,2866 ----
if (cacheDiskType == AFS_FCACHE_TYPE_MEM)
return 0;
AFS_STATCNT(afs_WriteDCache);
+ osi_Assert(WriteLocked(&afs_xdcache));
if (atime)
adc->f.modTime = osi_Time();
/*
Index: openafs/src/afs/afs_osi.c
diff -c openafs/src/afs/afs_osi.c:1.48.2.12 openafs/src/afs/afs_osi.c:1.48.2.15
*** openafs/src/afs/afs_osi.c:1.48.2.12 Tue Apr 3 14:57:06 2007
--- openafs/src/afs/afs_osi.c Tue Feb 5 20:43:44 2008
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.12 2007/04/03 18:57:06 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.15 2008/02/06 01:43:44 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 280,288 ****
void
afs_osi_RxkRegister(void)
{
- #ifdef AFS_LINUX22_ENV
- osi_linux_rxkreg();
- #endif
}
/* procedure for making our processes as invisible as we can */
--- 280,285 ----
***************
*** 308,315 ****
AFS_STATCNT(osi_Invisible);
}
! #if !defined(AFS_LINUX20_ENV) && !defined(AFS_FBSD_ENV)
/* set the real time */
void
afs_osi_SetTime(osi_timeval_t * atv)
--- 305,325 ----
AFS_STATCNT(osi_Invisible);
}
+ void
+ afs_osi_Visible(void)
+ {
+ #if defined(AFS_SUN5_ENV)
+ curproc->p_flag &= ~SSYS;
+ #elif defined(AFS_DARWIN80_ENV)
+ #elif defined(AFS_DARWIN_ENV)
+ /* maybe call init_process instead? */
+ current_proc()->p_flag &= ~P_SYSTEM;
+ #elif defined(AFS_XBSD_ENV)
+ curproc->p_flag &= ~P_SYSTEM;
+ #endif
+ }
! #if !defined(AFS_LINUX20_ENV) && !defined(AFS_XBSD_ENV)
/* set the real time */
void
afs_osi_SetTime(osi_timeval_t * atv)
Index: openafs/src/afs/afs_osi_alloc.c
diff -c openafs/src/afs/afs_osi_alloc.c:1.10.2.1 openafs/src/afs/afs_osi_alloc.c:1.10.2.3
*** openafs/src/afs/afs_osi_alloc.c:1.10.2.1 Sun Apr 3 14:18:54 2005
--- openafs/src/afs/afs_osi_alloc.c Thu Dec 13 14:18:47 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_osi_alloc.c,v 1.10.2.1 2005/04/03 18:18:54 shadow Exp $");
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_osi_alloc.c,v 1.10.2.3 2007/12/13 19:18:47 shadow Exp $");
***************
*** 120,126 ****
if (!freeSmallList) {
afs_stats_cmperf.SmallBlocksAlloced++;
afs_stats_cmperf.SmallBlocksActive++;
! return afs_osi_Alloc(AFS_SMALLOCSIZ);
}
afs_stats_cmperf.SmallBlocksActive++;
MObtainWriteLock(&osi_fsplock, 327);
--- 120,130 ----
if (!freeSmallList) {
afs_stats_cmperf.SmallBlocksAlloced++;
afs_stats_cmperf.SmallBlocksActive++;
! tp = afs_osi_Alloc(AFS_SMALLOCSIZ);
! #ifdef KERNEL_HAVE_PIN
! pin((char *)tp, AFS_SMALLOCSIZ);
! #endif
! return (char *)tp;
}
afs_stats_cmperf.SmallBlocksActive++;
MObtainWriteLock(&osi_fsplock, 327);
***************
*** 136,164 ****
void
shutdown_osinet(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osinet);
if (afs_cold_shutdown) {
struct osi_packet *tp;
while ((tp = freePacketList)) {
freePacketList = tp->next;
- afs_osi_Free(tp, AFS_LRALLOCSIZ);
#ifdef KERNEL_HAVE_PIN
unpin(tp, AFS_LRALLOCSIZ);
#endif
}
while ((tp = freeSmallList)) {
freeSmallList = tp->next;
- afs_osi_Free(tp, AFS_SMALLOCSIZ);
#ifdef KERNEL_HAVE_PIN
unpin(tp, AFS_SMALLOCSIZ);
#endif
}
LOCK_INIT(&osi_fsplock, "osi_fsplock");
LOCK_INIT(&osi_flplock, "osi_flplock");
}
}
#endif
--- 140,173 ----
void
shutdown_osinet(void)
{
AFS_STATCNT(shutdown_osinet);
if (afs_cold_shutdown) {
struct osi_packet *tp;
while ((tp = freePacketList)) {
freePacketList = tp->next;
#ifdef KERNEL_HAVE_PIN
unpin(tp, AFS_LRALLOCSIZ);
#endif
+ afs_osi_Free(tp, AFS_LRALLOCSIZ);
}
while ((tp = freeSmallList)) {
freeSmallList = tp->next;
#ifdef KERNEL_HAVE_PIN
unpin(tp, AFS_SMALLOCSIZ);
#endif
+ afs_osi_Free(tp, AFS_SMALLOCSIZ);
}
LOCK_INIT(&osi_fsplock, "osi_fsplock");
LOCK_INIT(&osi_flplock, "osi_flplock");
}
+ if (afs_stats_cmperf.LargeBlocksActive ||
+ afs_stats_cmperf.SmallBlocksActive)
+ {
+ afs_warn("WARNING: not all blocks freed: large %d small %d\n",
+ afs_stats_cmperf.LargeBlocksActive,
+ afs_stats_cmperf.SmallBlocksActive);
+ }
}
#endif
Index: openafs/src/afs/afs_osi_pag.c
diff -c openafs/src/afs/afs_osi_pag.c:1.21.2.10 openafs/src/afs/afs_osi_pag.c:1.21.2.11
*** openafs/src/afs/afs_osi_pag.c:1.21.2.10 Thu Feb 8 19:32:04 2007
--- openafs/src/afs/afs_osi_pag.c Fri Jan 4 13:40:30 2008
***************
*** 23,29 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.21.2.10 2007/02/09 00:32:04 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 23,29 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_osi_pag.c,v 1.21.2.11 2008/01/04 18:40:30 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 145,150 ****
--- 145,151 ----
*/
static int afs_pag_sleepcnt = 0;
+ static int afs_pag_timewarn = 0;
static int
afs_pag_sleep(struct AFS_UCRED **acred)
***************
*** 155,160 ****
--- 156,168 ----
if(osi_Time() - pag_epoch < pagCounter) {
rv = 1;
}
+ if (rv && (osi_Time() < pag_epoch)) {
+ if (!afs_pag_timewarn) {
+ afs_pag_timewarn = 1;
+ printf("clock went backwards, not PAG throttling");
+ }
+ rv = 0;
+ }
}
return rv;
Index: openafs/src/afs/afs_pioctl.c
diff -c openafs/src/afs/afs_pioctl.c:1.81.2.28 openafs/src/afs/afs_pioctl.c:1.81.2.33
*** openafs/src/afs/afs_pioctl.c:1.81.2.28 Tue Aug 21 22:15:33 2007
--- openafs/src/afs/afs_pioctl.c Fri Apr 18 16:13:32 2008
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.28 2007/08/22 02:15:33 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#ifdef AFS_OBSD_ENV
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.33 2008/04/18 20:13:32 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#ifdef AFS_OBSD_ENV
***************
*** 284,290 ****
if (current->thread.flags & THREAD_IA32)
#elif defined(AFS_PPC64_LINUX26_ENV)
! if (current->thread_info->flags & _TIF_32BIT)
#elif defined(AFS_PPC64_LINUX20_ENV)
if (current->thread.flags & PPC_FLAG_32BIT)
--- 284,294 ----
if (current->thread.flags & THREAD_IA32)
#elif defined(AFS_PPC64_LINUX26_ENV)
! #if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
! if (current->thread_info->flags & _TIF_32BIT)
! #else
! if (task_thread_info(current)->flags & _TIF_32BIT)
! #endif
#elif defined(AFS_PPC64_LINUX20_ENV)
if (current->thread.flags & PPC_FLAG_32BIT)
***************
*** 982,989 ****
#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);
--- 986,998 ----
#if defined(AFS_SUN510_ENV)
if (vp && !IsAfsVnode(vp)) {
struct vnode *realvp;
! if
! #ifdef AFS_SUN511_ENV
! (VOP_REALVP(vp, &realvp, NULL) == 0)
! #else
! (VOP_REALVP(vp, &realvp) == 0)
! #endif
! {
struct vnode *oldvp = vp;
VN_HOLD(realvp);
***************
*** 2773,2779 ****
DECL_PIOCTL(PSetSysName)
{
char *cp, *cp2 = NULL, inname[MAXSYSNAME], outname[MAXSYSNAME];
! int setsysname, foundname = 0;
register struct afs_exporter *exporter;
register struct unixuser *au;
register afs_int32 pag, error;
--- 2782,2789 ----
DECL_PIOCTL(PSetSysName)
{
char *cp, *cp2 = NULL, inname[MAXSYSNAME], outname[MAXSYSNAME];
! afs_int32 setsysname;
! int foundname = 0;
register struct afs_exporter *exporter;
register struct unixuser *au;
register afs_int32 pag, error;
***************
*** 2790,2796 ****
#endif
}
memset(inname, 0, MAXSYSNAME);
! memcpy((char *)&setsysname, ain, sizeof(afs_int32));
ain += sizeof(afs_int32);
if (setsysname) {
--- 2800,2806 ----
#endif
}
memset(inname, 0, MAXSYSNAME);
! memcpy(&setsysname, ain, sizeof(afs_int32));
ain += sizeof(afs_int32);
if (setsysname) {
***************
*** 3852,3857 ****
--- 3862,3868 ----
afs_uuid_create(&afs_cb_interface.uuid);
ReleaseWriteLock(&afs_xinterface);
ForceAllNewConnections();
+ return 0;
}
DECL_PIOCTL(PCallBackAddr)
Index: openafs/src/afs/afs_prototypes.h
diff -c openafs/src/afs/afs_prototypes.h:1.53.2.20 openafs/src/afs/afs_prototypes.h:1.53.2.24
*** openafs/src/afs/afs_prototypes.h:1.53.2.20 Wed Jun 27 12:32:12 2007
--- openafs/src/afs/afs_prototypes.h Fri Apr 18 02:04:01 2008
***************
*** 195,201 ****
--- 195,206 ----
extern void afs_DequeueCallback(struct vcache *avc);
/* afs_cell.c */
+ extern afs_int32 afs_cellindex;
extern afs_rwlock_t afs_xcell;
+ #ifdef AFS_AFSDB_ENV
+ extern afs_rwlock_t afsdb_client_lock;
+ extern afs_rwlock_t afsdb_req_lock;
+ #endif
extern struct afs_q CellLRU;
extern void afs_CellInit(void);
***************
*** 466,471 ****
--- 471,477 ----
/* afs_osi.c */
extern afs_lock_t afs_ftf;
extern void afs_osi_Invisible(void);
+ extern void afs_osi_Visible(void);
extern void afs_osi_RxkRegister(void);
extern void afs_osi_MaskSignals(void);
extern void afs_osi_UnmaskRxkSignals(void);
***************
*** 527,532 ****
--- 533,539 ----
extern void osi_FreeSmallSpace(void *adata);
extern void *osi_AllocLargeSpace(size_t size);
extern void *osi_AllocSmallSpace(size_t size);
+ extern void shutdown_osinet(void);
/* afs_osi_uio.c */
extern int afsio_copy(struct uio *ainuio, struct uio *aoutuio,
***************
*** 554,560 ****
#endif
extern void osi_linux_mask(void);
extern void osi_linux_unmask(void);
- extern void osi_linux_rxkreg(void);
extern int setpag(cred_t ** cr, afs_uint32 pagvalue, afs_uint32 * newpag,
int change_parent);
#endif
--- 561,566 ----
Index: openafs/src/afs/afs_segments.c
diff -c openafs/src/afs/afs_segments.c:1.16.2.5 openafs/src/afs/afs_segments.c:1.16.2.6
*** openafs/src/afs/afs_segments.c:1.16.2.5 Sun Feb 20 20:15:21 2005
--- openafs/src/afs/afs_segments.c Tue Dec 4 16:12:16 2007
***************
*** 14,20 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.16.2.5 2005/02/21 01:15:21 shadow Exp $");
#include "afs/sysincludes.h" /*Standard vendor system headers */
#include "afsincludes.h" /*AFS-based standard headers */
--- 14,20 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_segments.c,v 1.16.2.6 2007/12/04 21:12:16 shadow Exp $");
#include "afs/sysincludes.h" /*Standard vendor system headers */
#include "afsincludes.h" /*AFS-based standard headers */
***************
*** 92,97 ****
--- 92,101 ----
afs_int32 l1, l2;
l1 = avc->m.Length;
l2 = tlen;
+ if ((avc->m.Length > 0x7fffffff) ||
+ (tlen > 0x7fffffff) ||
+ ((0x7fffffff - tlen) < avc->m.Length))
+ return EFBIG;
code =
StartRXAFS_StoreData(tcall,
(struct AFSFid *)&avc->fid.Fid,
Index: openafs/src/afs/afs_server.c
diff -c openafs/src/afs/afs_server.c:1.33.2.10 openafs/src/afs/afs_server.c:1.33.2.12
*** openafs/src/afs/afs_server.c:1.33.2.10 Thu Oct 4 22:54:08 2007
--- openafs/src/afs/afs_server.c Tue Dec 11 16:31:52 2007
***************
*** 33,39 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.33.2.10 2007/10/05 02:54:08 shadow Exp $");
#include "afs/stds.h"
#include "afs/sysincludes.h" /* Standard vendor system headers */
--- 33,39 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.33.2.12 2007/12/11 21:31:52 shadow Exp $");
#include "afs/stds.h"
#include "afs/sysincludes.h" /* Standard vendor system headers */
***************
*** 1129,1134 ****
--- 1129,1135 ----
sa->sa_iprank = afs_min(sa->sa_iprank, MED);
}
}
+ return;
}
#else /* AFS_USERSPACE_IP_ADDR */
#if (! defined(AFS_SUN5_ENV)) && !defined(AFS_DARWIN60_ENV) && defined(USEIFADDR)
Index: openafs/src/afs/afs_stats.h
diff -c openafs/src/afs/afs_stats.h:1.11.2.4 openafs/src/afs/afs_stats.h:1.11.2.5
*** openafs/src/afs/afs_stats.h:1.11.2.4 Tue Jun 21 16:13:48 2005
--- openafs/src/afs/afs_stats.h Mon Mar 17 14:03:27 2008
***************
*** 35,40 ****
--- 35,41 ----
#define AFS_STATS(arg)
#define XSTATS_DECLS
#define XSTATS_START_TIME(arg)
+ #define XSTATS_START_CMTIME(arg)
#define XSTATS_END_TIME
#else /* AFS_NOSTATS */
Index: openafs/src/afs/afs_trace.et
diff -c openafs/src/afs/afs_trace.et:1.17.2.1 openafs/src/afs/afs_trace.et:1.17.2.2
*** openafs/src/afs/afs_trace.et:1.17.2.1 Mon May 30 00:36:58 2005
--- openafs/src/afs/afs_trace.et Fri Nov 23 09:34:57 2007
***************
*** 172,176 ****
--- 172,177 ----
ec CM_TRACE_LOCKWAIT,"%s line %d: Waiting for lock 0x%lx level %d"
ec CM_TRACE_WRITEFAILED, "osi_Write failed len %ld resid %ld err %ld"
ec CM_TRACE_ADJUSTSIZE2, "AdjustSize dc = 0x%lx, chunkBytes = 0x%x used = %ld, diff = %ld"
+ ec CM_TRACE_AFSDB, "AFSDB lookup %s returned %d"
end
Index: openafs/src/afs/afs_vcache.c
diff -c openafs/src/afs/afs_vcache.c:1.65.2.46 openafs/src/afs/afs_vcache.c:1.65.2.48
*** openafs/src/afs/afs_vcache.c:1.65.2.46 Thu Nov 9 23:35:13 2006
--- openafs/src/afs/afs_vcache.c Thu Dec 13 14:49:30 2007
***************
*** 39,45 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_vcache.c,v 1.65.2.46 2006/11/10 04:35:13 shadow Exp $");
#include "afs/sysincludes.h" /*Standard vendor system headers */
#include "afsincludes.h" /*AFS-based standard headers */
--- 39,45 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/afs_vcache.c,v 1.65.2.48 2007/12/13 19:49:30 shadow Exp $");
#include "afs/sysincludes.h" /*Standard vendor system headers */
#include "afsincludes.h" /*AFS-based standard headers */
Index: openafs/src/afs/lock.h
diff -c openafs/src/afs/lock.h:1.13.2.7 openafs/src/afs/lock.h:1.13.2.8
*** openafs/src/afs/lock.h:1.13.2.7 Fri Feb 2 22:25:18 2007
--- openafs/src/afs/lock.h Fri Nov 9 14:22:07 2007
***************
*** 102,110 ****
--- 102,116 ----
#define MyPidxx2Pid(x) ((afs_int32)(x))
#else /* AFS_AIX41_ENV */
#if defined(AFS_HPUX101_ENV)
+ #if defined(AFS_HPUX1111_ENV)
+ typedef struct kthread * afs_lock_tracker_t;
+ #define MyPidxx (u.u_kthreadp)
+ #define MyPidxx2Pid(x) (x ? kt_tid(x) : 0)
+ #else
typedef struct proc * afs_lock_tracker_t;
#define MyPidxx (u.u_procp)
#define MyPidxx2Pid(x) (x ? (afs_int32)p_pid(x) : 0)
+ #endif
#else
#if defined(AFS_SGI64_ENV)
#if defined(AFS_SGI65_ENV)
Index: openafs/src/afs/sysincludes.h
diff -c openafs/src/afs/sysincludes.h:1.28.2.14 openafs/src/afs/sysincludes.h:1.28.2.15
*** openafs/src/afs/sysincludes.h:1.28.2.14 Thu Dec 28 16:50:58 2006
--- openafs/src/afs/sysincludes.h Fri Nov 23 08:45:04 2007
***************
*** 75,80 ****
--- 75,83 ----
#if defined(LINUX_KEYRING_SUPPORT)
#include
#include
+ #if defined(KEY_TYPE_H_EXISTS)
+ #include
+ #endif
#ifndef KEY_ALLOC_IN_QUOTA
#define KEY_ALLOC_IN_QUOTA 1
#endif
Index: openafs/src/afs/AIX/osi_file.c
diff -c openafs/src/afs/AIX/osi_file.c:1.9.2.2 openafs/src/afs/AIX/osi_file.c:1.9.2.3
*** openafs/src/afs/AIX/osi_file.c:1.9.2.2 Wed Aug 15 23:54:26 2007
--- openafs/src/afs/AIX/osi_file.c Thu Dec 13 14:18:49 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/AIX/osi_file.c,v 1.9.2.2 2007/08/16 03:54:26 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/AIX/osi_file.c,v 1.9.2.3 2007/12/13 19:18:49 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 272,279 ****
void
shutdown_osifile(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osifile);
if (afs_cold_shutdown) {
afs_osicred_initialized = 0;
--- 272,277 ----
Index: openafs/src/afs/AIX/osi_vfsops.c
diff -c openafs/src/afs/AIX/osi_vfsops.c:1.11.2.1 openafs/src/afs/AIX/osi_vfsops.c:1.11.2.2
*** openafs/src/afs/AIX/osi_vfsops.c:1.11.2.1 Wed Aug 25 03:16:15 2004
--- openafs/src/afs/AIX/osi_vfsops.c Thu Dec 13 14:18:49 2007
***************
*** 14,20 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/AIX/osi_vfsops.c,v 1.11.2.1 2004/08/25 07:16:15 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 14,20 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/AIX/osi_vfsops.c,v 1.11.2.2 2007/12/13 19:18:49 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 34,41 ****
struct vfs *afs_globalVFS = 0;
struct vcache *afs_globalVp = 0;
- extern int afs_cold_shutdown;
-
static int afs_root_nolock(struct vfs *afsp, struct vnode **avpp);
static int
--- 34,39 ----
Index: openafs/src/afs/DARWIN/osi_file.c
diff -c openafs/src/afs/DARWIN/osi_file.c:1.8.2.7 openafs/src/afs/DARWIN/osi_file.c:1.8.2.8
*** openafs/src/afs/DARWIN/osi_file.c:1.8.2.7 Wed Oct 10 12:57:55 2007
--- openafs/src/afs/DARWIN/osi_file.c Thu Dec 13 14:18:49 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/DARWIN/osi_file.c,v 1.8.2.7 2007/10/10 16:57:55 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/DARWIN/osi_file.c,v 1.8.2.8 2007/12/13 19:18:49 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 418,425 ****
void
shutdown_osifile(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osifile);
if (afs_cold_shutdown) {
afs_osicred_initialized = 0;
--- 418,423 ----
Index: openafs/src/afs/DARWIN/osi_misc.c
diff -c openafs/src/afs/DARWIN/osi_misc.c:1.6.2.2 openafs/src/afs/DARWIN/osi_misc.c:1.6.2.3
*** openafs/src/afs/DARWIN/osi_misc.c:1.6.2.2 Wed Oct 5 01:58:29 2005
--- openafs/src/afs/DARWIN/osi_misc.c Mon Mar 24 13:10:40 2008
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/DARWIN/osi_misc.c,v 1.6.2.2 2005/10/05 05:58:29 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/DARWIN/osi_misc.c,v 1.6.2.3 2008/03/24 17:10:40 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
***************
*** 102,111 ****
user_addr_t iovaddr;
user_size_t iovsize;
! /* XXX 64 bit userspaace? */
! res = uio_create(uio_iovcnt(auio), uio_offset(auio),
! uio_isuserspace(auio) ? UIO_USERSPACE32 : UIO_SYSSPACE32,
! uio_rw(auio));
for (i = 0;i < uio_iovcnt(auio) && size > 0;i++) {
if (uio_getiov(auio, i, &iovaddr, &iovsize))
--- 102,116 ----
user_addr_t iovaddr;
user_size_t iovsize;
! if (proc_is64bit(current_proc())) {
! res = uio_create(uio_iovcnt(auio), uio_offset(auio),
! uio_isuserspace(auio) ? UIO_USERSPACE64 : UIO_SYSSPACE32,
! uio_rw(auio));
! } else {
! res = uio_create(uio_iovcnt(auio), uio_offset(auio),
! uio_isuserspace(auio) ? UIO_USERSPACE32 : UIO_SYSSPACE32,
! uio_rw(auio));
! }
for (i = 0;i < uio_iovcnt(auio) && size > 0;i++) {
if (uio_getiov(auio, i, &iovaddr, &iovsize))
Index: openafs/src/afs/DARWIN/osi_vnodeops.c
diff -c openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.28 openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.29
*** openafs/src/afs/DARWIN/osi_vnodeops.c:1.18.2.28 Wed Oct 24 01:45:38 2007
--- openafs/src/afs/DARWIN/osi_vnodeops.c Tue Nov 27 15:04:13 2007
***************
*** 5,11 ****
#include
RCSID
! ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.28 2007/10/24 05:45:38 shadow Exp $");
#include /* Standard vendor system headers */
#include /* Afs-based standard headers */
--- 5,11 ----
#include
RCSID
! ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.29 2007/11/27 20:04:13 shadow Exp $");
#include /* Standard vendor system headers */
#include /* Afs-based standard headers */
***************
*** 743,748 ****
--- 743,751 ----
int code;
struct vnode *vp = ap->a_vp;
struct vcache *avc = VTOAFS(vp);
+
+ if (vnode_isdir(ap->a_vp))
+ return EISDIR;
#ifdef AFS_DARWIN80_ENV
ubc_sync_range(ap->a_vp, AFS_UIO_OFFSET(ap->a_uio), AFS_UIO_OFFSET(ap->a_uio) + AFS_UIO_RESID(ap->a_uio), UBC_PUSHDIRTY);
#else
Index: openafs/src/afs/DUX/osi_file.c
diff -c openafs/src/afs/DUX/osi_file.c:1.9 openafs/src/afs/DUX/osi_file.c:1.9.2.1
*** openafs/src/afs/DUX/osi_file.c:1.9 Tue Jul 15 19:14:18 2003
--- openafs/src/afs/DUX/osi_file.c Thu Dec 13 14:18:50 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/DUX/Attic/osi_file.c,v 1.9 2003/07/15 23:14:18 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/DUX/Attic/osi_file.c,v 1.9.2.1 2007/12/13 19:18:50 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 279,286 ****
void
shutdown_osifile(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osifile);
if (afs_cold_shutdown) {
afs_osicred_initialized = 0;
--- 279,284 ----
Index: openafs/src/afs/FBSD/osi_file.c
diff -c openafs/src/afs/FBSD/osi_file.c:1.13.2.1 openafs/src/afs/FBSD/osi_file.c:1.13.2.2
*** openafs/src/afs/FBSD/osi_file.c:1.13.2.1 Thu Nov 9 18:26:25 2006
--- openafs/src/afs/FBSD/osi_file.c Thu Dec 13 14:18:50 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/FBSD/osi_file.c,v 1.13.2.1 2006/11/09 23:26:25 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/FBSD/osi_file.c,v 1.13.2.2 2007/12/13 19:18:50 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 244,251 ****
void
shutdown_osifile(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osifile);
if (afs_cold_shutdown) {
afs_osicred_initialized = 0;
--- 244,249 ----
Index: openafs/src/afs/HPUX/osi_file.c
diff -c openafs/src/afs/HPUX/osi_file.c:1.8.2.1 openafs/src/afs/HPUX/osi_file.c:1.8.2.2
*** openafs/src/afs/HPUX/osi_file.c:1.8.2.1 Thu Nov 9 18:26:26 2006
--- openafs/src/afs/HPUX/osi_file.c Thu Dec 13 14:18:50 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/HPUX/osi_file.c,v 1.8.2.1 2006/11/09 23:26:26 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/HPUX/osi_file.c,v 1.8.2.2 2007/12/13 19:18:50 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 223,230 ****
void
shutdown_osifile(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osifile);
if (afs_cold_shutdown) {
afs_osicred_initialized = 0;
--- 223,228 ----
Index: openafs/src/afs/IRIX/osi_file.c
diff -c openafs/src/afs/IRIX/osi_file.c:1.11.2.1 openafs/src/afs/IRIX/osi_file.c:1.11.2.2
*** openafs/src/afs/IRIX/osi_file.c:1.11.2.1 Thu Nov 9 18:26:26 2006
--- openafs/src/afs/IRIX/osi_file.c Thu Dec 13 14:18:53 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/IRIX/osi_file.c,v 1.11.2.1 2006/11/09 23:26:26 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/IRIX/osi_file.c,v 1.11.2.2 2007/12/13 19:18:53 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 262,269 ****
void
shutdown_osifile(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osifile);
if (afs_cold_shutdown) {
afs_osicred_initialized = 0;
--- 262,267 ----
Index: openafs/src/afs/IRIX/osi_vfsops.c
diff -c openafs/src/afs/IRIX/osi_vfsops.c:1.13.2.1 openafs/src/afs/IRIX/osi_vfsops.c:1.13.2.2
*** openafs/src/afs/IRIX/osi_vfsops.c:1.13.2.1 Wed Aug 25 03:09:34 2004
--- openafs/src/afs/IRIX/osi_vfsops.c Thu Dec 13 14:18:53 2007
***************
*** 14,20 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/IRIX/osi_vfsops.c,v 1.13.2.1 2004/08/25 07:09:34 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 14,20 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/IRIX/osi_vfsops.c,v 1.13.2.2 2007/12/13 19:18:53 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 207,213 ****
int flags;
cred_t *cr;
{
- extern int afs_afs_cold_shutdown;
struct vcache *tvc;
vnode_t *vp, *rootvp = NULL;
register struct afs_q *tq;
--- 207,212 ----
Index: openafs/src/afs/LINUX/osi_file.c
diff -c openafs/src/afs/LINUX/osi_file.c:1.19.2.11 openafs/src/afs/LINUX/osi_file.c:1.19.2.16
*** openafs/src/afs/LINUX/osi_file.c:1.19.2.11 Thu Nov 9 18:26:26 2006
--- openafs/src/afs/LINUX/osi_file.c Wed Mar 26 00:10:52 2008
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_file.c,v 1.19.2.11 2006/11/09 23:26:26 shadow Exp $");
#ifdef AFS_LINUX24_ENV
#include "h/module.h" /* early to avoid printf->printk mapping */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_file.c,v 1.19.2.16 2008/03/26 04:10:52 shadow Exp $");
#ifdef AFS_LINUX24_ENV
#include "h/module.h" /* early to avoid printf->printk mapping */
***************
*** 20,26 ****
#include "afsincludes.h" /* Afs-based standard headers */
#include "afs/afs_stats.h" /* afs statistics */
#include "h/smp_lock.h"
!
int afs_osicred_initialized = 0;
struct AFS_UCRED afs_osi_cred;
--- 20,28 ----
#include "afsincludes.h" /* Afs-based standard headers */
#include "afs/afs_stats.h" /* afs statistics */
#include "h/smp_lock.h"
! #if !defined(HAVE_IGET)
! #include "h/exportfs.h"
! #endif
int afs_osicred_initialized = 0;
struct AFS_UCRED afs_osi_cred;
***************
*** 40,45 ****
--- 42,50 ----
struct inode *tip = NULL;
struct dentry *dp = NULL;
struct file *filp = NULL;
+ #if !defined(HAVE_IGET)
+ struct fid fid;
+ #endif
AFS_STATCNT(osi_UFSOpen);
if (cacheDiskType != AFS_FCACHE_TYPE_UFS) {
osi_Panic("UFSOpen called for non-UFS cache\n");
***************
*** 57,70 ****
sizeof(struct osi_file));
}
memset(afile, 0, sizeof(struct osi_file));
tip = iget(afs_cacheSBp, (u_long) ainode);
if (!tip)
osi_Panic("Can't get inode %d\n", ainode);
- tip->i_flags |= MS_NOATIME; /* Disable updating access times. */
dp = d_alloc_anon(tip);
if (!dp)
osi_Panic("Can't get dentry for inode %d\n", ainode);
filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR);
if (IS_ERR(filp))
--- 62,82 ----
sizeof(struct osi_file));
}
memset(afile, 0, sizeof(struct osi_file));
+ #if defined(HAVE_IGET)
tip = iget(afs_cacheSBp, (u_long) ainode);
if (!tip)
osi_Panic("Can't get inode %d\n", ainode);
dp = d_alloc_anon(tip);
+ #else
+ fid.i32.ino = ainode;
+ fid.i32.gen = 0;
+ dp = afs_cacheSBp->s_export_op->fh_to_dentry(afs_cacheSBp, &fid, sizeof(fid), FILEID_INO32_GEN);
if (!dp)
osi_Panic("Can't get dentry for inode %d\n", ainode);
+ tip = dp->d_inode;
+ #endif
+ tip->i_flags |= MS_NOATIME; /* Disable updating access times. */
filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR);
if (IS_ERR(filp))
***************
*** 348,355 ****
void
shutdown_osifile(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osifile);
if (afs_cold_shutdown) {
afs_osicred_initialized = 0;
--- 360,365 ----
Index: openafs/src/afs/LINUX/osi_groups.c
diff -c openafs/src/afs/LINUX/osi_groups.c:1.25.2.10 openafs/src/afs/LINUX/osi_groups.c:1.25.2.15
*** openafs/src/afs/LINUX/osi_groups.c:1.25.2.10 Tue Mar 20 14:48:52 2007
--- openafs/src/afs/LINUX/osi_groups.c Sat Apr 19 17:56:11 2008
***************
*** 20,26 ****
#endif
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.10 2007/03/20 18:48:52 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
--- 20,26 ----
#endif
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.15 2008/04/19 21:56:11 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
***************
*** 50,61 ****
--- 50,63 ----
crset(*cr);
+ #ifdef STRUCT_TASK_STRUCT_HAS_PARENT
if (change_parent) {
old_info = current->parent->group_info;
get_group_info(group_info);
current->parent->group_info = group_info;
put_group_info(old_info);
}
+ #endif
return (0);
}
***************
*** 222,228 ****
}
#ifdef LINUX_KEYRING_SUPPORT
! static struct key_type *__key_type_keyring;
static int
install_session_keyring(struct task_struct *task, struct key *keyring)
--- 224,231 ----
}
#ifdef LINUX_KEYRING_SUPPORT
! extern struct key_type key_type_keyring __attribute__((weak));
! static struct key_type *__key_type_keyring = &key_type_keyring;
static int
install_session_keyring(struct task_struct *task, struct key *keyring)
***************
*** 624,651 ****
void osi_keyring_init(void)
{
struct task_struct *p;
! #ifdef EXPORTED_TASKLIST_LOCK
! if (&tasklist_lock)
! read_lock(&tasklist_lock);
! #endif
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
! #ifdef EXPORTED_TASKLIST_LOCK
! else
! #endif
! rcu_read_lock();
! #endif
! p = find_task_by_pid(1);
! if (p && p->user->session_keyring)
! __key_type_keyring = p->user->session_keyring->type;
! #ifdef EXPORTED_TASKLIST_LOCK
! if (&tasklist_lock)
! read_unlock(&tasklist_lock);
! #endif
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
! #ifdef EXPORTED_TASKLIST_LOCK
! else
! #endif
! rcu_read_unlock();
#endif
register_key_type(&key_type_afs_pag);
--- 627,665 ----
void osi_keyring_init(void)
{
struct task_struct *p;
!
! /* If we can't lock the tasklist, either with its explicit lock,
! * or by using the RCU lock, then we can't safely work out the
! * type of a keyring. So, we have to rely on the weak reference.
! * If that's not available, then keyring based PAGs won't work.
! */
!
! #if defined(EXPORTED_TASKLIST_LOCK) || (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) && defined(EXPORTED_RCU_READ_LOCK))
! if (__key_type_keyring == NULL) {
! # ifdef EXPORTED_TASKLIST_LOCK
! if (&tasklist_lock)
! read_lock(&tasklist_lock);
! # endif
! # if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) && defined(EXPORTED_RCU_READ_LOCK))
! # ifdef EXPORTED_TASKLIST_LOCK
! else
! # endif
! rcu_read_lock();
! # endif
! p = find_task_by_pid(1);
! if (p && p->user->session_keyring)
! __key_type_keyring = p->user->session_keyring->type;
! # ifdef EXPORTED_TASKLIST_LOCK
! if (&tasklist_lock)
! read_unlock(&tasklist_lock);
! # endif
! # if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) && defined(EXPORTED_RCU_READ_LOCK))
! # ifdef EXPORTED_TASKLIST_LOCK
! else
! # endif
! rcu_read_unlock();
! # endif
! }
#endif
register_key_type(&key_type_afs_pag);
Index: openafs/src/afs/LINUX/osi_machdep.h
diff -c openafs/src/afs/LINUX/osi_machdep.h:1.22.2.17 openafs/src/afs/LINUX/osi_machdep.h:1.22.2.18
*** openafs/src/afs/LINUX/osi_machdep.h:1.22.2.17 Thu Feb 8 17:41:20 2007
--- openafs/src/afs/LINUX/osi_machdep.h Fri Nov 23 08:45:04 2007
***************
*** 76,82 ****
--- 76,93 ----
#define afs_hz HZ
#include "h/sched.h"
+ #if defined(HAVE_CURRENT_KERNEL_TIME)
+ static inline time_t osi_Time(void) {
+ struct timespec xtime;
+ xtime = current_kernel_time();
+ return xtime.tv_sec;
+ }
+ #else
#define osi_Time() (xtime.tv_sec)
+ #endif
+
+
+
#ifdef AFS_LINUX_64BIT_KERNEL
#define osi_GetTime(V) \
do { \
Index: openafs/src/afs/LINUX/osi_misc.c
diff -c openafs/src/afs/LINUX/osi_misc.c:1.34.2.10 openafs/src/afs/LINUX/osi_misc.c:1.34.2.12
*** openafs/src/afs/LINUX/osi_misc.c:1.34.2.10 Mon Jul 11 15:29:56 2005
--- openafs/src/afs/LINUX/osi_misc.c Mon Mar 10 15:05:28 2008
***************
*** 15,21 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_misc.c,v 1.34.2.10 2005/07/11 19:29:56 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
--- 15,21 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_misc.c,v 1.34.2.12 2008/03/10 19:05:28 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
***************
*** 52,61 ****
--- 52,68 ----
#endif
if (!code) {
+ #if defined(STRUCT_NAMEIDATA_HAS_PATH)
+ *dpp = dget(nd.path.dentry);
+ if (mnt)
+ *mnt = mntget(nd.path.mnt);
+ path_put(&nd.path);
+ #else
*dpp = dget(nd.dentry);
if (mnt)
*mnt = mntget(nd.mnt);
path_release(&nd);
+ #endif
}
return code;
}
***************
*** 348,355 ****
}
}
- struct task_struct *rxk_ListenerTask;
-
void
osi_linux_mask(void)
{
--- 355,360 ----
***************
*** 358,366 ****
RECALC_SIGPENDING(current);
SIG_UNLOCK(current);
}
-
- void
- osi_linux_rxkreg(void)
- {
- rxk_ListenerTask = current;
- }
--- 363,365 ----
Index: openafs/src/afs/LINUX/osi_probe.c
diff -c openafs/src/afs/LINUX/osi_probe.c:1.1.2.24 openafs/src/afs/LINUX/osi_probe.c:1.1.2.25
*** openafs/src/afs/LINUX/osi_probe.c:1.1.2.24 Tue Aug 21 17:31:59 2007
--- openafs/src/afs/LINUX/osi_probe.c Sun Apr 6 23:19:40 2008
***************
*** 45,50 ****
--- 45,51 ----
/* Code to find the Linux syscall table */
+ #if defined(EXPORTED_INIT_MM)
#ifdef OSI_PROBE_STANDALONE
#define OSI_PROBE_DEBUG
#endif
***************
*** 1481,1483 ****
--- 1482,1490 ----
module_exit(osi_probe_exit);
#endif
#endif
+ #else
+ void *osi_find_syscall_table(int which)
+ {
+ return 0;
+ }
+ #endif /* EXPORTED_INIT_MM */
Index: openafs/src/afs/LINUX/osi_sysctl.c
diff -c openafs/src/afs/LINUX/osi_sysctl.c:1.7.2.5 openafs/src/afs/LINUX/osi_sysctl.c:1.7.2.6
*** openafs/src/afs/LINUX/osi_sysctl.c:1.7.2.5 Tue Jun 12 14:28:49 2007
--- openafs/src/afs/LINUX/osi_sysctl.c Fri Nov 23 08:45:04 2007
***************
*** 1,7 ****
/*
* osi_sysctl.c: Linux sysctl interface to OpenAFS
*
! * $Id: osi_sysctl.c,v 1.7.2.5 2007/06/12 18:28:49 shadow Exp $
*
* Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
*/
--- 1,7 ----
/*
* osi_sysctl.c: Linux sysctl interface to OpenAFS
*
! * $Id: osi_sysctl.c,v 1.7.2.6 2007/11/23 13:45:04 shadow Exp $
*
* Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
*/
***************
*** 28,34 ****
--- 28,38 ----
static ctl_table afs_sysctl_table[] = {
{
+ #if defined(SYSCTL_TABLE_CHECKING)
+ .ctl_name = CTL_UNNUMBERED,
+ #else
.ctl_name = 1,
+ #endif
.procname = "hm_retry_RO",
.data = &hm_retry_RO,
.maxlen = sizeof(afs_int32),
***************
*** 36,42 ****
--- 40,50 ----
.proc_handler = &proc_dointvec
},
{
+ #if defined(SYSCTL_TABLE_CHECKING)
+ .ctl_name = CTL_UNNUMBERED,
+ #else
.ctl_name = 2,
+ #endif
.procname = "hm_retry_RW",
.data = &hm_retry_RW,
.maxlen = sizeof(afs_int32),
***************
*** 44,50 ****
--- 52,62 ----
.proc_handler = &proc_dointvec
},
{
+ #if defined(SYSCTL_TABLE_CHECKING)
+ .ctl_name = CTL_UNNUMBERED,
+ #else
.ctl_name = 3,
+ #endif
.procname = "hm_retry_int",
.data = &hm_retry_int,
.maxlen = sizeof(afs_int32),
***************
*** 52,58 ****
--- 64,74 ----
.proc_handler = &proc_dointvec
},
{
+ #if defined(SYSCTL_TABLE_CHECKING)
+ .ctl_name = CTL_UNNUMBERED,
+ #else
.ctl_name = 4,
+ #endif
.procname = "GCPAGs",
.data = &afs_gcpags,
.maxlen = sizeof(afs_int32),
***************
*** 60,66 ****
--- 76,86 ----
.proc_handler = &proc_dointvec
},
{
+ #if defined(SYSCTL_TABLE_CHECKING)
+ .ctl_name = CTL_UNNUMBERED,
+ #else
.ctl_name = 5,
+ #endif
.procname = "rx_deadtime",
.data = &afs_rx_deadtime,
.maxlen = sizeof(afs_int32),
***************
*** 68,74 ****
--- 88,98 ----
.proc_handler = &proc_dointvec
},
{
+ #if defined(SYSCTL_TABLE_CHECKING)
+ .ctl_name = CTL_UNNUMBERED,
+ #else
.ctl_name = 6,
+ #endif
.procname = "bkVolPref",
.data = &afs_bkvolpref,
.maxlen = sizeof(afs_int32),
***************
*** 80,86 ****
--- 104,114 ----
static ctl_table fs_sysctl_table[] = {
{
+ #if defined(SYSCTL_TABLE_CHECKING)
+ .ctl_name = CTL_UNNUMBERED,
+ #else
.ctl_name = 1,
+ #endif
.procname = "afs",
.mode = 0555,
.child = afs_sysctl_table
Index: openafs/src/afs/LINUX/osi_vfsops.c
diff -c openafs/src/afs/LINUX/osi_vfsops.c:1.29.2.26 openafs/src/afs/LINUX/osi_vfsops.c:1.29.2.28
*** openafs/src/afs/LINUX/osi_vfsops.c:1.29.2.26 Mon Oct 15 08:42:26 2007
--- openafs/src/afs/LINUX/osi_vfsops.c Fri Nov 23 08:45:04 2007
***************
*** 16,22 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.26 2007/10/15 12:42:26 shadow Exp $");
#define __NO_VERSION__ /* don't define kernel_version in module.h */
#include /* early to avoid printf->printk mapping */
--- 16,22 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.28 2007/11/23 13:45:04 shadow Exp $");
#define __NO_VERSION__ /* don't define kernel_version in module.h */
#include /* early to avoid printf->printk mapping */
***************
*** 295,302 ****
--- 295,306 ----
#if defined(HAVE_KMEM_CACHE_T)
init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
#else
+ #if defined(KMEM_CACHE_INIT)
+ init_once(struct kmem_cache * cachep, void * foo)
+ #else
init_once(void * foo, struct kmem_cache * cachep, unsigned long flags)
#endif
+ #endif
{
struct vcache *vcp = (struct vcache *) foo;
***************
*** 531,538 ****
--- 535,545 ----
ip->i_size = vp->va_size;
#if defined(AFS_LINUX26_ENV)
ip->i_atime.tv_sec = vp->va_atime.tv_sec;
+ ip->i_atime.tv_nsec = 0;
ip->i_mtime.tv_sec = vp->va_mtime.tv_sec;
+ ip->i_mtime.tv_nsec = 0;
ip->i_ctime.tv_sec = vp->va_ctime.tv_sec;
+ ip->i_ctime.tv_nsec = 0;
#else
ip->i_atime = vp->va_atime.tv_sec;
ip->i_mtime = vp->va_mtime.tv_sec;
Index: openafs/src/afs/LINUX/osi_vnodeops.c
diff -c openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.57 openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.64
*** openafs/src/afs/LINUX/osi_vnodeops.c:1.81.2.57 Mon Oct 15 08:42:26 2007
--- openafs/src/afs/LINUX/osi_vnodeops.c Tue Apr 15 08:29:54 2008
***************
*** 22,28 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.57 2007/10/15 12:42:26 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
--- 22,28 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.64 2008/04/15 12:29:54 shadow Exp $");
#include "afs/sysincludes.h"
#include "afsincludes.h"
***************
*** 564,581 ****
#endif
{
struct vrequest treq;
! struct vcache *vcp = VTOAFS(FILE_INODE(fp));
! cred_t *credp = crref();
int code;
AFS_GLOCK();
code = afs_InitReq(&treq, credp);
if (code)
goto out;
ObtainSharedLock(&vcp->lock, 535);
! if (vcp->execsOrWriters > 0) {
UpgradeSToWLock(&vcp->lock, 536);
code = afs_StoreAllSegments(vcp, &treq, AFS_SYNC | AFS_LASTSTORE);
ConvertWToSLock(&vcp->lock);
--- 564,589 ----
#endif
{
struct vrequest treq;
! struct vcache *vcp;
! cred_t *credp;
int code;
AFS_GLOCK();
+ if ((fp->f_flags & O_ACCMODE) == O_RDONLY) { /* readers dont flush */
+ AFS_GUNLOCK();
+ return 0;
+ }
+
+ credp = crref();
+ vcp = VTOAFS(FILE_INODE(fp));
+
code = afs_InitReq(&treq, credp);
if (code)
goto out;
ObtainSharedLock(&vcp->lock, 535);
! if ((vcp->execsOrWriters > 0) && (file_count(fp) == 1)) {
UpgradeSToWLock(&vcp->lock, 536);
code = afs_StoreAllSegments(vcp, &treq, AFS_SYNC | AFS_LASTSTORE);
ConvertWToSLock(&vcp->lock);
***************
*** 643,648 ****
--- 651,660 ----
#if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SENDFILE)
.sendfile = generic_file_sendfile,
#endif
+ #if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SPLICE)
+ .splice_write = generic_file_splice_write,
+ .splice_read = generic_file_splice_read,
+ #endif
.release = afs_linux_release,
.fsync = afs_linux_fsync,
.lock = afs_linux_lock,
***************
*** 791,798 ****
if (vcp == afs_globalVp)
goto good_dentry;
! if (*dp->d_name.name != '/' && vcp->mvstat == 2) /* root vnode */
! check_bad_parent(dp); /* check and correct mvid */
#ifdef notdef
/* If the last looker changes, we should make sure the current
--- 803,816 ----
if (vcp == afs_globalVp)
goto good_dentry;
! if (vcp->mvstat == 1) { /* mount point */
! if (vcp->mvid && (vcp->states & CMValid)) {
! /* a mount point, not yet replaced by its directory */
! goto bad_dentry;
! }
! } else
! if (*dp->d_name.name != '/' && vcp->mvstat == 2) /* root vnode */
! check_bad_parent(dp); /* check and correct mvid */
#ifdef notdef
/* If the last looker changes, we should make sure the current
***************
*** 878,883 ****
--- 896,910 ----
AFS_GLOCK();
(void) afs_InactiveVCache(vcp, NULL);
AFS_GUNLOCK();
+ #ifdef DCACHE_NFSFS_RENAMED
+ #ifdef AFS_LINUX26_ENV
+ spin_lock(&dp->d_lock);
+ #endif
+ dp->d_flags &= ~DCACHE_NFSFS_RENAMED;
+ #ifdef AFS_LINUX26_ENV
+ spin_unlock(&dp->d_lock);
+ #endif
+ #endif
iput(ip);
}
***************
*** 939,944 ****
--- 966,972 ----
afs_getattr(vcp, &vattr, credp);
afs_fill_inode(ip, &vattr);
+ insert_inode_hash(ip);
dp->d_op = &afs_dentry_operations;
dp->d_time = hgetlo(VTOAFS(dip)->m.DataVersion);
d_instantiate(dp, ip);
***************
*** 984,989 ****
--- 1012,1019 ----
ip = AFSTOV(vcp);
afs_getattr(vcp, &vattr, credp);
afs_fill_inode(ip, &vattr);
+ if (hlist_unhashed(&ip->i_hash))
+ insert_inode_hash(ip);
}
dp->d_op = &afs_dentry_operations;
dp->d_time = hgetlo(VTOAFS(dip)->m.DataVersion);
***************
*** 1095,1100 ****
--- 1125,1139 ----
}
tvc->uncred = credp;
tvc->states |= CUnlinked;
+ #ifdef DCACHE_NFSFS_RENAMED
+ #ifdef AFS_LINUX26_ENV
+ spin_lock(&dp->d_lock);
+ #endif
+ dp->d_flags |= DCACHE_NFSFS_RENAMED;
+ #ifdef AFS_LINUX26_ENV
+ spin_unlock(&dp->d_lock);
+ #endif
+ #endif
} else {
osi_FreeSmallSpace(__name);
}
***************
*** 1822,1826 ****
#endif
}
- /* insert_inode_hash(ip); -- this would make iget() work (if we used it) */
}
--- 1861,1864 ----
Index: openafs/src/afs/NBSD/osi_file.c
diff -c openafs/src/afs/NBSD/osi_file.c:1.5.2.1 openafs/src/afs/NBSD/osi_file.c:1.5.2.2
*** openafs/src/afs/NBSD/osi_file.c:1.5.2.1 Thu Nov 9 18:26:26 2006
--- openafs/src/afs/NBSD/osi_file.c Thu Dec 13 14:18:55 2007
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/NBSD/osi_file.c,v 1.5.2.1 2006/11/09 23:26:26 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/NBSD/osi_file.c,v 1.5.2.2 2007/12/13 19:18:55 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
***************
*** 224,231 ****
void
shutdown_osifile(void)
{
- extern int afs_cold_shutdown;
-
AFS_STATCNT(shutdown_osifile);
if (afs_cold_shutdown) {
afs_osicred_initialized = 0;
--- 224,229 ----
Index: openafs/src/afs/OBSD/osi_file.c
diff -c openafs/src/afs/OBSD/osi_file.c:1.10.2.2 openafs/src/afs/OBSD/osi_file.c:1.10.2.3
*** openafs/src/afs/OBSD/osi_file.c:1.10.2.2 Thu Nov 9 18:26:26 2006
--- openafs/src/afs/OBSD/osi_file.c Fri Jan 4 12:56:41 2008
***************
*** 11,17 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/OBSD/osi_file.c,v 1.10.2.2 2006/11/09 23:26:26 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afs/afsincludes.h" /* Afs-based standard headers */
--- 11,17 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/OBSD/osi_file.c,v 1.10.2.3 2008/01/04 17:56:41 rees Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afs/afsincludes.h" /* Afs-based standard headers */
***************
*** 136,142 ****
int
afs_osi_Read(struct osi_file *afile, int offset, void *aptr, afs_int32 asize)
{
! unsigned int resid;
afs_int32 code;
AFS_STATCNT(osi_Read);
--- 136,142 ----
int
afs_osi_Read(struct osi_file *afile, int offset, void *aptr, afs_int32 asize)
{
! size_t resid;
afs_int32 code;
AFS_STATCNT(osi_Read);
***************
*** 164,171 ****
afile->offset += code;
osi_DisableAtimes(afile->vnode);
} else {
! afs_Trace2(afs_iclSetp, CM_TRACE_READFAILED, ICL_TYPE_INT32, resid,
! ICL_TYPE_INT32, code);
code = -1;
}
return code;
--- 164,171 ----
afile->offset += code;
osi_DisableAtimes(afile->vnode);
} else {
! afs_Trace2(afs_iclSetp, CM_TRACE_READFAILED, ICL_TYPE_INT32,
! (unsigned int) resid, ICL_TYPE_INT32, code);
code = -1;
}
return code;
***************
*** 176,182 ****
afs_osi_Write(struct osi_file *afile, afs_int32 offset, void *aptr,
afs_int32 asize)
{
! unsigned int resid;
afs_int32 code;
AFS_STATCNT(osi_Write);
--- 176,182 ----
afs_osi_Write(struct osi_file *afile, afs_int32 offset, void *aptr,
afs_int32 asize)
{
! size_t resid;
afs_int32 code;
AFS_STATCNT(osi_Write);
Index: openafs/src/afs/OBSD/osi_machdep.h
diff -c openafs/src/afs/OBSD/osi_machdep.h:1.16.2.8 openafs/src/afs/OBSD/osi_machdep.h:1.16.2.9
*** openafs/src/afs/OBSD/osi_machdep.h:1.16.2.8 Thu Nov 9 19:08:56 2006
--- openafs/src/afs/OBSD/osi_machdep.h Fri Jan 4 12:53:37 2008
***************
*** 16,22 ****
* afs_osi.h.
*/
! /* $Id: osi_machdep.h,v 1.16.2.8 2006/11/10 00:08:56 shadow Exp $ */
#ifndef _OSI_MACHDEP_H_
#define _OSI_MACHDEP_H_
--- 16,22 ----
* afs_osi.h.
*/
! /* $Id: osi_machdep.h,v 1.16.2.9 2008/01/04 17:53:37 rees Exp $ */
#ifndef _OSI_MACHDEP_H_
#define _OSI_MACHDEP_H_
***************
*** 69,75 ****
/* time */
#define afs_hz hz
#define osi_GetTime(x) microtime(x)
! #define osi_Time() (time.tv_sec)
/* str */
#define afs_strcasecmp(s1, s2) strncasecmp((s1), (s2), 65535)
--- 69,75 ----
/* time */
#define afs_hz hz
#define osi_GetTime(x) microtime(x)
! extern time_t osi_Time();
/* str */
#define afs_strcasecmp(s1, s2) strncasecmp((s1), (s2), 65535)
Index: openafs/src/afs/OBSD/osi_sleep.c
diff -c openafs/src/afs/OBSD/osi_sleep.c:1.7.2.2 openafs/src/afs/OBSD/osi_sleep.c:1.7.2.3
*** openafs/src/afs/OBSD/osi_sleep.c:1.7.2.2 Thu Jul 28 17:48:35 2005
--- openafs/src/afs/OBSD/osi_sleep.c Fri Jan 4 12:53:37 2008
***************
*** 1,5 ****
/*
! * $Id: osi_sleep.c,v 1.7.2.2 2005/07/28 21:48:35 shadow Exp $
*/
/*
--- 1,5 ----
/*
! * $Id: osi_sleep.c,v 1.7.2.3 2008/01/04 17:53:37 rees Exp $
*/
/*
***************
*** 45,51 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/OBSD/osi_sleep.c,v 1.7.2.2 2005/07/28 21:48:35 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afs/afsincludes.h" /* Afs-based standard headers */
--- 45,51 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/OBSD/osi_sleep.c,v 1.7.2.3 2008/01/04 17:53:37 rees Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afs/afsincludes.h" /* Afs-based standard headers */
***************
*** 54,59 ****
--- 54,74 ----
static char waitV;
+ time_t
+ osi_Time()
+ {
+ struct timeval now;
+
+ getmicrotime(&now);
+ return now.tv_sec;
+ }
+
+ void
+ afs_osi_SetTime(osi_timeval_t * atv)
+ {
+ printf("afs attempted to set clock; use \"afsd -nosettime\"\n");
+ }
+
/* cancel osi_Wait */
void
afs_osi_CancelWait(struct afs_osi_WaitHandle *achandle)
***************
*** 76,88 ****
afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok)
{
int timo, code = 0;
! struct timeval atv, endTime;
AFS_STATCNT(osi_Wait);
atv.tv_sec = ams / 1000;
atv.tv_usec = (ams % 1000) * 1000;
! timeradd(&atv, &time, &endTime);
if (ahandle)
ahandle->proc = (caddr_t) curproc;
--- 91,104 ----
afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok)
{
int timo, code = 0;
! struct timeval atv, now, endTime;
AFS_STATCNT(osi_Wait);
atv.tv_sec = ams / 1000;
atv.tv_usec = (ams % 1000) * 1000;
! getmicrotime(&now);
! timeradd(&atv, &now, &endTime);
if (ahandle)
ahandle->proc = (caddr_t) curproc;
***************
*** 90,96 ****
AFS_GUNLOCK();
do {
! timersub(&endTime, &time, &atv);
timo = atv.tv_sec * hz + atv.tv_usec * hz / 1000000 + 1;
if (aintok) {
code = tsleep(&waitV, PCATCH | PVFS, "afs_W1", timo);
--- 106,112 ----
AFS_GUNLOCK();
do {
! timersub(&endTime, &now, &atv);
timo = atv.tv_sec * hz + atv.tv_usec * hz / 1000000 + 1;
if (aintok) {
code = tsleep(&waitV, PCATCH | PVFS, "afs_W1", timo);
***************
*** 104,110 ****
/* we've been signalled */
break;
}
! } while (timercmp(&time, &endTime, <));
AFS_GLOCK();
return code;
--- 120,127 ----
/* we've been signalled */
break;
}
! getmicrotime(&now);
! } while (timercmp(&now, &endTime, <));
AFS_GLOCK();
return code;
Index: openafs/src/afs/OBSD/osi_vm.c
diff -c openafs/src/afs/OBSD/osi_vm.c:1.2 openafs/src/afs/OBSD/osi_vm.c:1.2.2.1
*** openafs/src/afs/OBSD/osi_vm.c:1.2 Tue Jul 15 19:14:25 2003
--- openafs/src/afs/OBSD/osi_vm.c Thu Jan 3 12:15:19 2008
***************
*** 22,33 ****
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/OBSD/osi_vm.c,v 1.2 2003/07/15 23:14:25 shadow Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afs/afsincludes.h" /* Afs-based standard headers */
#include "afs/afs_stats.h" /* statistics */
! /* #include */
#include
#include
--- 22,33 ----
#include "afs/param.h"
RCSID
! ("$Header: /cvs/openafs/src/afs/OBSD/osi_vm.c,v 1.2.2.1 2008/01/03 17:15:19 rees Exp $");
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afs/afsincludes.h" /* Afs-based standard headers */
#include "afs/afs_stats.h" /* statistics */
! #include
#include
#include
***************
*** 50,55 ****
--- 50,65 ----
int
osi_VM_FlushVCache(struct vcache *avc, int *slept)
{
+ struct vnode *vp = AFSTOV(avc);
+
+ if (!vp)
+ return 0;
+ AFS_GUNLOCK();
+
+ cache_purge(vp);
+ uvm_vnp_uncache(vp);
+
+ AFS_GLOCK();
return 0;
}
***************
*** 57,62 ****
--- 67,73 ----
*
* Locking: the vcache entry's lock is held. It will usually be dropped and
* re-obtained.
+ *
*/
void
osi_VM_StoreAllSegments(struct vcache *avc)
***************
*** 75,80 ****
--- 86,94 ----
void
osi_VM_TryToSmush(struct vcache *avc, struct AFS_UCRED *acred, int sync)
{
+ ReleaseWriteLock(&avc->lock);
+ osi_VM_FlushVCache(avc, NULL);
+ ObtainWriteLock(&avc->lock, 59);
}
/* Purge VM for a file when its callback is revoked.
***************
*** 84,89 ****
--- 98,110 ----
void
osi_VM_FlushPages(struct vcache *avc, struct AFS_UCRED *credp)
{
+ struct vnode *vp = AFSTOV(avc);
+
+ if (!vp)
+ return;
+ cache_purge(vp);
+ uvm_vnp_uncache(vp);
+ uvm_vnp_setsize(vp, avc->m.Length);
}
/* Purge pages beyond end-of-file, when truncating a file.
***************
*** 95,98 ****
--- 116,120 ----
void
osi_VM_Truncate(struct vcache *avc, int alen, struct AFS_UCRED *acred)
{
+ uvm_vnp_setsize(AFSTOV(avc), a