viced: Remove the LWP fileserver

*) Remove all LWP specific code from the fileserver, and make pthread
   the default
*) Build the pthreaded fileserver in the 'viced' directory, rather than
   in tviced
*) Move the DAFS specific files from tviced to viced (arguably, these
   should move into dviced, but there are currently no source files in
   that directory)
*) Remove tviced from the build

Change-Id: I6e186c9fad6d9dccd04cf1317a80c087587ef25f
Reviewed-on: http://gerrit.openafs.org/5816
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
Simon Wilkinson 2011-11-07 09:48:14 +00:00 committed by Derrick Brashear
parent 40bf6dee24
commit ca0fdd84a4
26 changed files with 270 additions and 737 deletions

View File

@ -289,17 +289,9 @@ tvlserver: cmd comerr vol audit tubik libafsrpc libafsauthent tvlserver_depinsta
esac
viced: cmd comerr vlserver tvlserver audit
viced: cmd comerr vlserver tvlserver libafsrpc libafsauthent audit
+${COMPILE_PART1} viced ${COMPILE_PART2}
tviced: cmd comerr viced vlserver tvlserver libafsrpc libafsauthent
+case ${SYS_NAME} in \
alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*[nof]bsd*|*_darwin_*) \
${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \
*) \
echo Not building MT viced for ${SYS_NAME} ;; \
esac
dviced: cmd comerr viced vlserver tvlserver libafsrpc libafsauthent
+case ${SYS_NAME} in \
alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*[nof]bsd*|*_darwin_*) \
@ -311,7 +303,7 @@ dviced: cmd comerr viced vlserver tvlserver libafsrpc libafsauthent
volser: cmd comerr usd kauth vlserver audit
+${COMPILE_PART1} volser ${COMPILE_PART2}
tvolser: project tviced usd libafsrpc libafsauthent volser
tvolser: project viced usd libafsrpc libafsauthent volser
+@case ${SYS_NAME} in \
*_darwin_*|alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*[no]bsd*) \
${COMPILE_PART1} tvolser ${COMPILE_PART2} ;; \
@ -319,7 +311,7 @@ tvolser: project tviced usd libafsrpc libafsauthent volser
echo Not building MT volser for ${SYS_NAME} ;; \
esac
dvolser: project tviced usd libafsrpc libafsauthent volser
dvolser: project viced usd libafsrpc libafsauthent volser
+@case ${SYS_NAME} in \
*_darwin_*|alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*[no]bsd*) \
${COMPILE_PART1} dvolser ${COMPILE_PART2} ;; \
@ -724,7 +716,6 @@ clean2:
-${COMPILE_PART1} vlserver ${COMPILE_CLEAN}
-${COMPILE_PART1} tvlserver ${COMPILE_CLEAN}
-${COMPILE_PART1} viced ${COMPILE_CLEAN}
-${COMPILE_PART1} tviced ${COMPILE_CLEAN}
-${COMPILE_PART1} dviced ${COMPILE_CLEAN}
-${COMPILE_PART1} volser ${COMPILE_CLEAN}
-${COMPILE_PART1} tvolser ${COMPILE_CLEAN}
@ -915,7 +906,6 @@ distclean: clean
src/tests/auth/Makefile \
src/tsalvaged/Makefile \
src/tsm41/Makefile \
src/tviced/Makefile \
src/tvolser/Makefile \
src/ubik/Makefile \
src/tubik/Makefile \

View File

@ -410,14 +410,7 @@ volser: vol
$(NTMAKE)
$(CD) ..\..
viced: volser
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
update: viced
update: volser
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
@ -466,14 +459,14 @@ libafsauthent: bu_utils
$(NTMAKE)
$(CD) ..\..
tviced: libafsauthent
viced: libafsauthent
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@
$(NTMAKE)
$(CD) ..\..
tvolser: tviced
tvolser: viced
@echo ***** $@
$(DOCD) $(SRC)\$@
$(CD) $(SRC)\$@

View File

@ -229,7 +229,6 @@ src/tests/Makefile \
src/tests/run-tests \
src/tsalvaged/Makefile \
src/tsm41/Makefile \
src/tviced/Makefile \
src/tvolser/Makefile \
src/ubik/Makefile \
src/tubik/Makefile \

View File

@ -245,7 +245,7 @@ the reader count.
- viced state serialization
See src/tviced/serialize_state.* and ShutDownAndCore in
See src/viced/serialize_state.* and ShutDownAndCore in
src/viced/viced.c
Before DAFS, whenever a fileserver restarted, it lost all information

View File

@ -192,7 +192,6 @@ dirs="\
vol \
volser \
viced \
tviced \
bozo \
update \
bu_utils \

View File

@ -267,10 +267,6 @@ Tivoli storage manager support for the backup system.
Pthreaded ubik build dir.
-- tviced
Pthreaded version of the fileserver.
-- tvlsever
Pthreaded vlserver build dir.
@ -327,4 +323,4 @@ Volume server package. includes volserver and vos client.
-- xstat
Extended statistics clients for cachemanagers and fileservers,
includes xstat library and xstatcommand line clients.
includes xstat library and xstatcommand line clients.

View File

@ -211,9 +211,6 @@ idirs: doclink
! IF (!EXIST($(OJT)\tbutc))
$(MKDIR) $(OJT)\tbutc
! ENDIF
! IF (!EXIST($(OJT)\tviced))
$(MKDIR) $(OJT)\tviced
! ENDIF
! IF (!EXIST($(OJT)\tvolser))
$(MKDIR) $(OJT)\tvolser
! ENDIF

View File

@ -17,7 +17,6 @@ MODULE_CFLAGS=-DRXDEBUG -DFSSYNC_BUILD_SERVER \
RX=$(srcdir)/../rx
VICED=$(srcdir)/../viced
TVICED=$(srcdir)/../tviced
VLSERVER=$(srcdir)/../vlserver
LWP=$(srcdir)/../lwp
LIBACL=$(srcdir)/../libacl
@ -83,8 +82,8 @@ callback.o: ${VICED}/callback.c
fsstats.o: ${VICED}/fsstats.c
$(AFS_CCRULE) $(VICED)/fsstats.c
serialize_state.o: ${TVICED}/serialize_state.c
$(AFS_CCRULE) $(TVICED)/serialize_state.c
serialize_state.o: ${VICED}/serialize_state.c
$(AFS_CCRULE) $(VICED)/serialize_state.c
uuid.o: ${UTIL}/uuid.c
$(AFS_CCRULE) $(UTIL)/uuid.c
@ -211,8 +210,8 @@ afsint.ss.o: ../fsint/afsint.ss.c
afsint.xdr.o: ../fsint/afsint.xdr.c
$(AFS_CCRULE) ../fsint/afsint.xdr.c
state_analyzer.o: ${TVICED}/state_analyzer.c
$(AFS_CCRULE) $(TVICED)/state_analyzer.c
state_analyzer.o: ${VICED}/state_analyzer.c
$(AFS_CCRULE) $(VICED)/state_analyzer.c
dafileserver: ${objects} ${LIBS}
$(AFS_LDRULE) ${objects} \

View File

@ -17,7 +17,6 @@ RELDIR=dviced
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\dafileserver.exe
VICED = ..\viced
TVICED = ..\tviced
LIBACL = ..\libacl
DIR = ..\dir
FSINT = ..\fsint
@ -26,9 +25,8 @@ RX = ..\rx
RXOBJS = $(OUT)\xdr_int64.obj \
$(OUT)\xdr_int32.obj
VICEDOBJS = $(OUT)\viced.obj $(OUT)\afsfileprocs.obj $(OUT)\fsstats.obj $(OUT)\host.obj $(OUT)\physio.obj $(OUT)\callback.obj
TVICEDOBJS = $(OUT)\serialize_state.obj
VICEDOBJS = $(OUT)\viced.obj $(OUT)\afsfileprocs.obj $(OUT)\fsstats.obj $(OUT)\host.obj $(OUT)\physio.obj \
$(OUT)\callback.obj $(OUT)\serialize_state.obj
DAFS_VICEDRES = $(OUT)\dafileserver.res
@ -54,9 +52,6 @@ $(VICEDOBJS): $(VICED)\$$(@B).c
$(DAFS_VICEDRES): dafileserver.rc AFS_component_version_number.h
$(RC) /fo $(DAFS_VICEDRES) dafileserver.rc
$(TVICEDOBJS): $(TVICED)\$$(@B).c
$(C2OBJ) -I$(TVICED) $**
$(LIBACLOBJS): $(LIBACL)\$$(@B).C
$(C2OBJ) -I$(LIBACL) $**

View File

@ -1,6 +0,0 @@
# After changing this file, please run
# git ls-files -i --exclude-standard
# to check that you haven't inadvertently ignored any tracked files.
/fileserver
/state_analyzer

View File

@ -1,231 +0,0 @@
# Copyright 2000, International Business Machines Corporation and others.
# All Rights Reserved.
#
# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
#
# Portions Copyright (c) 2003 Apple Computer, Inc.
srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
include @TOP_OBJDIR@/src/config/Makefile.pthread
MODULE_CFLAGS = -DRXDEBUG -DFSSYNC_BUILD_SERVER -DSALVSYNC_BUILD_CLIENT
RX=$(srcdir)/../rx
VICED=$(srcdir)/../viced
VLSERVER=$(srcdir)/../vlserver
LWP=$(srcdir)/../lwp
LIBACL=$(srcdir)/../libacl
UTIL=$(srcdir)/../util
DIR=$(srcdir)/../dir
VOL=$(srcdir)/../vol
FSINT=$(srcdir)/../fsint
VICEDOBJS=viced.o afsfileprocs.o host.o physio.o callback.o serialize_state.o \
fsstats.o
VLSERVEROBJS=vldbint.cs.o vldbint.xdr.o
LWPOBJS=lock.o threadname.o
LIBACLOBJS=aclprocs.o netprocs.o
UTILOBJS=uuid.o serverLog.o fileutil.o netutils.o dirpath.o volparse.o flipbase64.o softsig.o pthread_threadname.o
DIROBJS=buffer.o dir.o salvage.o
VOLOBJS= vnode.o volume.o vutil.o partition.o fssync-server.o \
clone.o devname.o common.o ihandle.o listinodes.o namei_ops.o \
fstab.o salvsync-client.o daemon_com.o vg_cache.o vg_scan.o
FSINTOBJS= afsaux.o afscbint.cs.o afsint.ss.o afsint.xdr.o
RXOBJS = rx_pthread.o
objects= ${VICEDOBJS} ${VLSERVEROBJS} ${LWPOBJS} ${LIBACLOBJS} \
${UTILOBJS} ${DIROBJS} ${VOLOBJS} ${FSINTOBJS} ${RXOBJS}
LIBS=${TOP_LIBDIR}/libafsauthent.a \
${TOP_LIBDIR}/libafsrpc.a \
$(TOP_LIBDIR)/libcmd.a \
$(TOP_LIBDIR)/libopr.a \
${TOP_LIBDIR}/util.a
all: fileserver
CFLAGS_rx_pthread.o = -DDPF_FSLOG
rx_pthread.o: ${RX}/rx_pthread.c
$(AFS_CCRULE) $(RX)/rx_pthread.c
viced.o: ${VICED}/viced.c
$(AFS_CCRULE) $(VICED)/viced.c
afsfileprocs.o: ${VICED}/afsfileprocs.c
$(AFS_CCRULE) $(VICED)/afsfileprocs.c
host.o: ${VICED}/host.c
$(AFS_CCRULE) $(VICED)/host.c
physio.o: ${VICED}/physio.c
$(AFS_CCRULE) $(VICED)/physio.c
callback.o: ${VICED}/callback.c
$(AFS_CCRULE) $(VICED)/callback.c
fsstats.o: ${VICED}/fsstats.c
$(AFS_CCRULE) $(VICED)/fsstats.c
assert.o: ${UTIL}/assert.c
$(AFS_CCRULE) $(UTIL)/assert.c
uuid.o: ${UTIL}/uuid.c
$(AFS_CCRULE) $(UTIL)/uuid.c
serverLog.o: ${UTIL}/serverLog.c
$(AFS_CCRULE) $(UTIL)/serverLog.c
fileutil.o: ${UTIL}/fileutil.c
$(AFS_CCRULE) $(UTIL)/fileutil.c
volparse.o: ${UTIL}/volparse.c
$(AFS_CCRULE) $(UTIL)/volparse.c
flipbase64.o: ${UTIL}/flipbase64.c
$(AFS_CCRULE) $(UTIL)/flipbase64.c
netutils.o: ${UTIL}/netutils.c
$(AFS_CCRULE) -I../util $(UTIL)/netutils.c
dirpath.o: ${UTIL}/dirpath.c
$(AFS_CCRULE) $(UTIL)/dirpath.c
softsig.o: ${UTIL}/softsig.c
$(AFS_CCRULE) $(UTIL)/softsig.c
pthread_threadname.o: ${UTIL}/pthread_threadname.c
$(AFS_CCRULE) $(UTIL)/pthread_threadname.c
lock.o: ${LWP}/lock.c
$(AFS_CCRULE) $(LWP)/lock.c
threadname.o: ${LWP}/threadname.c
$(AFS_CCRULE) $(LWP)/threadname.c
aclprocs.o: ${LIBACL}/aclprocs.c
$(AFS_CCRULE) $(LIBACL)/aclprocs.c
netprocs.o: ${LIBACL}/netprocs.c
$(AFS_CCRULE) $(LIBACL)/netprocs.c
vldbint.cs.o: ../vlserver/vldbint.cs.c
$(AFS_CCRULE) -I$(VLSERVER) ../vlserver/vldbint.cs.c
vldbint.xdr.o: ../vlserver/vldbint.xdr.c
$(AFS_CCRULE) -I$(VLSERVER) ../vlserver/vldbint.xdr.c
buffer.o: ${DIR}/buffer.c
$(AFS_CCRULE) $(DIR)/buffer.c
dir.o: ${DIR}/dir.c
$(AFS_CCRULE) $(DIR)/dir.c
salvage.o: ${DIR}/salvage.c
$(AFS_CCRULE) $(DIR)/salvage.c
vnode.o: ${VOL}/vnode.c
$(AFS_CCRULE) $(VOL)/vnode.c
volume.o: ${VOL}/volume.c
$(AFS_CCRULE) $(VOL)/volume.c
vutil.o: ${VOL}/vutil.c
$(AFS_CCRULE) $(VOL)/vutil.c
partition.o: ${VOL}/partition.c
$(AFS_CCRULE) $(VOL)/partition.c
vg_cache.o: ${VOL}/vg_cache.c
$(AFS_CCRULE) $(VOL)/vg_cache.c
vg_scan.o: ${VOL}/vg_scan.c
$(AFS_CCRULE) $(VOL)/vg_scan.c
fssync-server.o: ${VOL}/fssync-server.c
$(AFS_CCRULE) $(VOL)/fssync-server.c
fssync-client.o: ${VOL}/fssync-client.c
$(AFS_CCRULE) $(VOL)/fssync-client.c
salvsync-client.o: ${VOL}/salvsync-client.c
$(AFS_CCRULE) $(VOL)/salvsync-client.c
daemon_com.o: ${VOL}/daemon_com.c
$(AFS_CCRULE) $(VOL)/daemon_com.c
clone.o: ${VOL}/clone.c
$(AFS_CCRULE) $(VOL)/clone.c
nuke.o: ${VOL}/nuke.c
$(AFS_CCRULE) $(VOL)/nuke.c
devname.o: ${VOL}/devname.c
$(AFS_CCRULE) $(VOL)/devname.c
# only for darwin?
fstab.o: ${UTIL}/fstab.c
$(AFS_CCRULE) $(UTIL)/fstab.c
common.o: ${VOL}/common.c
$(AFS_CCRULE) $(VOL)/common.c
listinodes.o: ${VOL}/listinodes.c
$(AFS_CCRULE) $(VOL)/listinodes.c
ihandle.o: ${VOL}/ihandle.c
$(AFS_CCRULE) $(VOL)/ihandle.c
namei_ops.o: ${VOL}/namei_ops.c
$(AFS_CCRULE) $(VOL)/namei_ops.c
afsaux.o: ${FSINT}/afsaux.c
$(AFS_CCRULE) -I../fsint $(FSINT)/afsaux.c
afscbint.cs.o: ../fsint/afscbint.cs.c
$(AFS_CCRULE) ../fsint/afscbint.cs.c
afscbint.ss.o: ../fsint/afscbint.ss.c
$(AFS_CCRULE) ../fsint/afscbint.ss.c
afsint.cs.o: ../fsint/afsint.cs.c
$(AFS_CCRULE) ../fsint/afsint.cs.c
afsint.ss.o: ../fsint/afsint.ss.c
$(AFS_CCRULE) ../fsint/afsint.ss.c
afsint.xdr.o: ../fsint/afsint.xdr.c
$(AFS_CCRULE) ../fsint/afsint.xdr.c
fileserver: ${objects} ${LIBS}
$(AFS_LDRULE) ${objects} \
${LIBS} $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS}
install: fileserver
${INSTALL} -d ${DESTDIR}${afssrvlibexecdir}
${INSTALL} -d ${DESTDIR}${afssrvsbindir}
${INSTALL} fileserver \
${DESTDIR}${afssrvlibexecdir}/fileserver
dest: fileserver
${INSTALL} -d ${DEST}/root.server/usr/afs/bin
${INSTALL} fileserver \
${DEST}/root.server/usr/afs/bin/fileserver
clean:
$(RM) -f *.o fileserver core AFS_component_version_number.c
include ../config/Makefile.version

View File

@ -1,101 +0,0 @@
# Copyright 2000, International Business Machines Corporation and others.
# All Rights Reserved.
#
# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
AFSDEV_AUXCDEFINES = -DAFS_PTHREAD_ENV -DRXDEBUG -DFSSYNC_BUILD_SERVER #-DAFS_DEMAND_ATTACH_FS
RELDIR=tviced
!INCLUDE ..\config\NTMakefile.$(SYS_NAME)
!INCLUDE ..\config\NTMakefile.version
SRC_DIR = ..\viced
############################################################################
# Build the fileserver
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\fileserver.exe
VICED = ..\viced
TVICED = .
LWP = ..\lwp
LIBACL = ..\libacl
FSINT = ..\fsint
RX = ..\rx
RXOBJS = $(OUT)\xdr_int64.obj \
$(OUT)\xdr_int32.obj
VICEDOBJS = $(OUT)\viced.obj $(OUT)\afsfileprocs.obj $(OUT)\fsstats.obj $(OUT)\host.obj $(OUT)\physio.obj $(OUT)\callback.obj
TVICEDRES = $(OUT)\fileserver.res
TVICEDOBJS = $(OUT)\serialize_state.obj
LWPOBJS = $(OUT)\lock.obj $(OUT)\fasttime.obj $(OUT)\threadname.obj
LIBACLOBJS = $(OUT)\aclprocs.obj $(OUT)\netprocs.obj
FSINTOBJS = $(OUT)\afsaux.obj $(OUT)\afscbint.cs.obj $(OUT)\afsint.ss.obj $(OUT)\afsint.xdr.obj
EXEOBJS = $(VICEDOBJS) $(TVICEDRES) $(LWPOBJS) $(LIBACLOBJS) \
$(FSINTOBJS) $(RXOBJS) #$(TVICEDOBJS)
noversion: install
all: fileserver
$(RXOBJS): $(RX)\$$(@B).c
$(C2OBJ) -I$(RX) $**
$(VICEDOBJS): $(VICED)\$$(@B).c
$(C2OBJ) -I$(VICED) $**
$(TVICEDRES): $(VICED)\fileserver.rc AFS_component_version_number.h
$(RC) /fo $(TVICEDRES) $(VICED)\fileserver.rc
$(TVICEDOBJS): $(TVICED)\$$(@B).c
$(C2OBJ) -I$(TVICED) $**
$(LWPOBJS): $(LWP)\$$(@B).C
$(C2OBJ) -I$(LWP) $**
$(LIBACLOBJS): $(LIBACL)\$$(@B).C
$(C2OBJ) -I$(LIBACL) $**
$(FSINTOBJS): $(FSINT)\$$(@B).C
$(C2OBJ) -I$(FSINT) $**
EXELIBS = \
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\afsrpc.lib \
$(DESTDIR)\lib\afs\afscmd.lib \
$(DESTDIR)\lib\afs\afsaudit.lib \
$(DESTDIR)\lib/afs/afscom_err.lib \
$(DESTDIR)\lib\afs\afsreg.lib \
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
$(DESTDIR)\lib\afs\afseventlog.lib \
$(DESTDIR)\lib\afs\mtafsutil.lib \
$(DESTDIR)\lib\afs\mtafsvol.lib \
$(DESTDIR)\lib\afs\mtafsvldb.lib \
$(DESTDIR)\lib\afs\mtafsdir.lib \
$(DESTDIR)\lib\opr.lib \
$(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afsroken.lib
$(EXEFILE): $(EXEOBJS) $(EXELIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(EXEPREP)
$(CODESIGN_USERLAND)
$(SYMSTORE_IMPORT)
install: $(EXEFILE)
mkdir:
clean::
$(DEL) $(TVICEDRES)

View File

@ -1,17 +0,0 @@
/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
*
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
*/
/* Define VERSIONINFO resource */
#define AFS_VERINFO_FILE_DESCRIPTION "AFS File Server (Threaded)"
#define AFS_VERINFO_NAME "fileserver"
#define AFS_VERINFO_FILENAME "fileserver.exe"
#include "AFS_component_version_number.h"
#include "..\config\NTVersioninfo.rc"

View File

@ -9,77 +9,59 @@
srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
include @TOP_OBJDIR@/src/config/Makefile.lwp
HELPER_SPLINT=@HELPER_SPLINT@
include @TOP_OBJDIR@/src/config/Makefile.pthread
LIBS=${TOP_LIBDIR}/libacl.a \
${TOP_LIBDIR}/libvldb.a \
${TOP_LIBDIR}/libprot.a \
${TOP_LIBDIR}/libauth.a \
${TOP_LIBDIR}/librxkad.a \
${TOP_LIBDIR}/libubik.a \
${TOP_LIBDIR}/vlib.a \
${TOP_LIBDIR}/libdir.a \
${TOP_LIBDIR}/util.a \
${TOP_LIBDIR}/libsys.a \
${TOP_LIBDIR}/libafsint.a \
${TOP_LIBDIR}/librxstat.a \
${TOP_LIBDIR}/librx.a \
${TOP_LIBDIR}/libsys.a \
${TOP_LIBDIR}/libafscom_err.a \
${TOP_LIBDIR}/libcmd.a \
${TOP_LIBDIR}/liblwp.a \
${TOP_LIBDIR}/libafsutil.a \
$(TOP_LIBDIR)/libopr.a \
${TOP_LIBDIR}/libafshcrypto_lwp.a
headers=${TOP_INCDIR}/lwp.h \
${TOP_INCDIR}/afs/acl.h \
${TOP_INCDIR}/afs/errors.h \
${TOP_INCDIR}/afs/ptclient.h \
${TOP_INCDIR}/lock.h \
${TOP_INCDIR}/afs/volume.h \
${TOP_INCDIR}/afs/vnode.h \
${TOP_INCDIR}/rx/rx.h \
${TOP_INCDIR}/rx/xdr.h \
${TOP_INCDIR}/afs/auth.h \
${TOP_INCDIR}/afs/afsint.h \
viced.h \
host.h \
callback.h \
fs_stats.h
MODULE_CFLAGS = -DRXDEBUG -DFSSYNC_BUILD_SERVER -DSALVSYNC_BUILD_CLIENT
objects=viced.o \
afsfileprocs.o \
host.o \
physio.o \
callback.o \
fsstats.o
RX=$(srcdir)/../rx
VLSERVER=$(srcdir)/../vlserver
LWP=$(srcdir)/../lwp
LIBACL=$(srcdir)/../libacl
UTIL=$(srcdir)/../util
DIR=$(srcdir)/../dir
VOL=$(srcdir)/../vol
FSINT=$(srcdir)/../fsint
VICEDOBJS=viced.o afsfileprocs.o host.o physio.o callback.o serialize_state.o \
fsstats.o
VLSERVEROBJS=vldbint.cs.o vldbint.xdr.o
LWPOBJS=lock.o threadname.o
LIBACLOBJS=aclprocs.o netprocs.o
UTILOBJS=uuid.o serverLog.o fileutil.o netutils.o dirpath.o volparse.o flipbase64.o softsig.o pthread_threadname.o
DIROBJS=buffer.o dir.o salvage.o
VOLOBJS= vnode.o volume.o vutil.o partition.o fssync-server.o \
clone.o devname.o common.o ihandle.o listinodes.o namei_ops.o \
fstab.o salvsync-client.o daemon_com.o vg_cache.o vg_scan.o
FSINTOBJS= afsaux.o afscbint.cs.o afsint.ss.o afsint.xdr.o
RXOBJS = rx_pthread.o
objects= ${VICEDOBJS} ${VLSERVEROBJS} ${LWPOBJS} ${LIBACLOBJS} \
${UTILOBJS} ${DIROBJS} ${VOLOBJS} ${FSINTOBJS} ${RXOBJS}
LIBS=${TOP_LIBDIR}/libafsauthent.a \
${TOP_LIBDIR}/libafsrpc.a \
$(TOP_LIBDIR)/libcmd.a \
$(TOP_LIBDIR)/libopr.a \
${TOP_LIBDIR}/util.a
all: cbd fsprobe check_sysid fileserver ${TOP_INCDIR}/afs/fs_stats.h
${TOP_INCDIR}/afs/fs_stats.h: fs_stats.h
${INSTALL_DATA} $? $@
${objects}: ${headers}
viced.o: AFS_component_version_number.o
check_sysid: check_sysid.c
${CC} ${AFS_CFLAGS} ${AFS_LDFLAGS} -o check_sysid \
${srcdir}/check_sysid.c
fileserver: ${objects} ${headers} ${LIBS}
$(Q)set -x; \
case ${SYS_NAME} in \
rs_aix*) \
${CC} -K ${AFS_LDFLAGS} -o fileserver ${objects} \
${TOP_LIBDIR}/libaudit.a ${LIBS} $(LIB_roken) ${XLIBS} ;; \
*) \
$(AFS_LDRULE_NOQ) ${objects} ${TOP_LIBDIR}/libaudit.a \
${LIBS} $(LIB_roken) ${XLIBS} ;; \
esac
fsprobe.o: fsprobe.c AFS_component_version_number.c
fsprobe: fsprobe.o
@ -92,49 +74,156 @@ cbd.o: callback.c AFS_component_version_number.c
cbd: cbd.o
$(AFS_LDRULE) cbd.o ${LIBS} $(LIB_roken) ${XLIBS}
install: fileserver fs_stats.h
${INSTALL} -d ${DESTDIR}${afssrvlibexecdir}
${INSTALL} -d ${DESTDIR}${includedir}/afs
${INSTALL_DATA} ${srcdir}/fs_stats.h ${DESTDIR}${includedir}/afs/fs_stats.h
@case ${SYS_NAME} in \
alpha_dux4*|*linux*|rs_aix*|sgi_6*|sun4x*|sunx86*) \
echo "Don't install fileserver for ${SYS_NAME}" ;; \
*_darwin_[1-6][0-9]) \
echo ${INSTALL} fileserver ${DESTDIR}${afssrvlibexecdir}/fileserver ; \
${INSTALL} fileserver ${DESTDIR}${afssrvlibexecdir}/fileserver ;; \
*_darwin_*) \
echo "Don't install fileserver for ${SYS_NAME}" ;; \
*) \
echo ${INSTALL} fileserver ${DESTDIR}${afssrvlibexecdir}/fileserver ; \
${INSTALL} fileserver ${DESTDIR}${afssrvlibexecdir}/fileserver ;; \
esac
CFLAGS_rx_pthread.o = -DDPF_FSLOG
rx_pthread.o: ${RX}/rx_pthread.c
$(AFS_CCRULE) $(RX)/rx_pthread.c
dest: fileserver fs_stats.h
uuid.o: ${UTIL}/uuid.c
$(AFS_CCRULE) $(UTIL)/uuid.c
serverLog.o: ${UTIL}/serverLog.c
$(AFS_CCRULE) $(UTIL)/serverLog.c
fileutil.o: ${UTIL}/fileutil.c
$(AFS_CCRULE) $(UTIL)/fileutil.c
volparse.o: ${UTIL}/volparse.c
$(AFS_CCRULE) $(UTIL)/volparse.c
flipbase64.o: ${UTIL}/flipbase64.c
$(AFS_CCRULE) $(UTIL)/flipbase64.c
netutils.o: ${UTIL}/netutils.c
$(AFS_CCRULE) -I../util $(UTIL)/netutils.c
dirpath.o: ${UTIL}/dirpath.c
$(AFS_CCRULE) $(UTIL)/dirpath.c
softsig.o: ${UTIL}/softsig.c
$(AFS_CCRULE) $(UTIL)/softsig.c
pthread_threadname.o: ${UTIL}/pthread_threadname.c
$(AFS_CCRULE) $(UTIL)/pthread_threadname.c
lock.o: ${LWP}/lock.c
$(AFS_CCRULE) $(LWP)/lock.c
threadname.o: ${LWP}/threadname.c
$(AFS_CCRULE) $(LWP)/threadname.c
aclprocs.o: ${LIBACL}/aclprocs.c
$(AFS_CCRULE) $(LIBACL)/aclprocs.c
netprocs.o: ${LIBACL}/netprocs.c
$(AFS_CCRULE) $(LIBACL)/netprocs.c
vldbint.cs.o: ../vlserver/vldbint.cs.c
$(AFS_CCRULE) -I$(VLSERVER) ../vlserver/vldbint.cs.c
vldbint.xdr.o: ../vlserver/vldbint.xdr.c
$(AFS_CCRULE) -I$(VLSERVER) ../vlserver/vldbint.xdr.c
buffer.o: ${DIR}/buffer.c
$(AFS_CCRULE) $(DIR)/buffer.c
dir.o: ${DIR}/dir.c
$(AFS_CCRULE) $(DIR)/dir.c
salvage.o: ${DIR}/salvage.c
$(AFS_CCRULE) $(DIR)/salvage.c
vnode.o: ${VOL}/vnode.c
$(AFS_CCRULE) $(VOL)/vnode.c
volume.o: ${VOL}/volume.c
$(AFS_CCRULE) $(VOL)/volume.c
vutil.o: ${VOL}/vutil.c
$(AFS_CCRULE) $(VOL)/vutil.c
partition.o: ${VOL}/partition.c
$(AFS_CCRULE) $(VOL)/partition.c
vg_cache.o: ${VOL}/vg_cache.c
$(AFS_CCRULE) $(VOL)/vg_cache.c
vg_scan.o: ${VOL}/vg_scan.c
$(AFS_CCRULE) $(VOL)/vg_scan.c
fssync-server.o: ${VOL}/fssync-server.c
$(AFS_CCRULE) $(VOL)/fssync-server.c
fssync-client.o: ${VOL}/fssync-client.c
$(AFS_CCRULE) $(VOL)/fssync-client.c
salvsync-client.o: ${VOL}/salvsync-client.c
$(AFS_CCRULE) $(VOL)/salvsync-client.c
daemon_com.o: ${VOL}/daemon_com.c
$(AFS_CCRULE) $(VOL)/daemon_com.c
clone.o: ${VOL}/clone.c
$(AFS_CCRULE) $(VOL)/clone.c
nuke.o: ${VOL}/nuke.c
$(AFS_CCRULE) $(VOL)/nuke.c
devname.o: ${VOL}/devname.c
$(AFS_CCRULE) $(VOL)/devname.c
# only for darwin?
fstab.o: ${UTIL}/fstab.c
$(AFS_CCRULE) $(UTIL)/fstab.c
common.o: ${VOL}/common.c
$(AFS_CCRULE) $(VOL)/common.c
listinodes.o: ${VOL}/listinodes.c
$(AFS_CCRULE) $(VOL)/listinodes.c
ihandle.o: ${VOL}/ihandle.c
$(AFS_CCRULE) $(VOL)/ihandle.c
namei_ops.o: ${VOL}/namei_ops.c
$(AFS_CCRULE) $(VOL)/namei_ops.c
afsaux.o: ${FSINT}/afsaux.c
$(AFS_CCRULE) -I../fsint $(FSINT)/afsaux.c
afscbint.cs.o: ../fsint/afscbint.cs.c
$(AFS_CCRULE) ../fsint/afscbint.cs.c
afscbint.ss.o: ../fsint/afscbint.ss.c
$(AFS_CCRULE) ../fsint/afscbint.ss.c
afsint.cs.o: ../fsint/afsint.cs.c
$(AFS_CCRULE) ../fsint/afsint.cs.c
afsint.ss.o: ../fsint/afsint.ss.c
$(AFS_CCRULE) ../fsint/afsint.ss.c
afsint.xdr.o: ../fsint/afsint.xdr.c
$(AFS_CCRULE) ../fsint/afsint.xdr.c
fileserver: ${objects} ${LIBS}
$(AFS_LDRULE) ${objects} \
${LIBS} $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS}
install: fileserver
${INSTALL} -d ${DESTDIR}${afssrvlibexecdir}
${INSTALL} -d ${DESTDIR}${afssrvsbindir}
${INSTALL} fileserver \
${DESTDIR}${afssrvlibexecdir}/fileserver
dest: fileserver
${INSTALL} -d ${DEST}/root.server/usr/afs/bin
${INSTALL} -d ${DEST}/include/afs
${INSTALL_DATA} ${srcdir}/fs_stats.h ${DEST}/include/afs/fs_stats.h
@case ${SYS_NAME} in \
alpha_dux4*|*linux*|rs_aix*|sgi_6*|sun4x*|sunx86*) \
echo "Don't install fileserver for ${SYS_NAME}" ;; \
*_darwin_[1-6][0-9]) \
echo ${INSTALL} fileserver ${DEST}/root.server/usr/afs/bin/fileserver ; \
${INSTALL} fileserver ${DEST}/root.server/usr/afs/bin/fileserver ;; \
*_darwin_*) \
echo "Don't install fileserver for ${SYS_NAME}" ;; \
*) \
echo ${INSTALL} fileserver ${DEST}/root.server/usr/afs/bin/fileserver ; \
${INSTALL} fileserver ${DEST}/root.server/usr/afs/bin/fileserver ;; \
esac
${INSTALL} fileserver \
${DEST}/root.server/usr/afs/bin/fileserver
clean:
$(RM) -f *.o fileserver core AFS_component_version_number.c cbd check_sysid fsprobe
$(RM) -f *.o fileserver core AFS_component_version_number.c \
cbd check_sysid fsprobe
include ../config/Makefile.version
check-splint::
sh $(HELPER_SPLINT) $(CFLAGS) \
viced.c \
afsfileprocs.c \
host.c \
physio.c \
callback.c

View File

@ -5,7 +5,7 @@
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
AFSDEV_AUXCDEFINES = -DFSSYNC_BUILD_SERVER
AFSDEV_AUXCDEFINES = -DAFS_PTHREAD_ENV -DRXDEBUG -DFSSYNC_BUILD_SERVER
RELDIR=viced
!INCLUDE ..\config\NTMakefile.$(SYS_NAME)
@ -16,55 +16,75 @@ RELDIR=viced
INCFILEDIR = $(DESTDIR)\include\afs
INCFILES =\
$(INCFILEDIR)\fs_stats.h
INCFILES = $(INCFILEDIR)\fs_stats.h
############################################################################
# Build the fileserver
# This is now done in tviced
EXEFILE = $(DESTDIR)\root.server\usr\afs\bin\fileserver.exe
EXERES = $(OUT)\fileserver.res
EXERES= $(OUT)\fileserver.res
EXEOBJS =\
$(OUT)\afsfileprocs.obj \
$(OUT)\callback.obj \
$(OUT)\fsstats.obj \
$(OUT)\host.obj \
$(OUT)\physio.obj \
$(OUT)\viced.obj \
$(OUT)\AFS_component_version_number.obj
LWP = ..\lwp
LIBACL = ..\libacl
FSINT = ..\fsint
RX = ..\rx
RXOBJS = $(OUT)\xdr_int64.obj \
$(OUT)\xdr_int32.obj
VICEDOBJS = $(OUT)\viced.obj $(OUT)\afsfileprocs.obj $(OUT)\fsstats.obj $(OUT)\host.obj $(OUT)\physio.obj $(OUT)\callback.obj
LWPOBJS = $(OUT)\lock.obj $(OUT)\fasttime.obj $(OUT)\threadname.obj
LIBACLOBJS = $(OUT)\aclprocs.obj $(OUT)\netprocs.obj
FSINTOBJS = $(OUT)\afsaux.obj $(OUT)\afscbint.cs.obj $(OUT)\afsint.ss.obj $(OUT)\afsint.xdr.obj
EXEOBJS = $(EXERES) $(VICEDOBJS) $(LWPOBJS) $(LIBACLOBJS) \
$(FSINTOBJS) $(RXOBJS)
noversion: install
all: fileserver
$(EXERES): fileserver.rc AFS_component_version_number.h
$(RXOBJS): $(RX)\$$(@B).c
$(C2OBJ) -I$(RX) $**
$(VICEDOBJS): $$(@B).c
$(C2OBJ) $**
$(LWPOBJS): $(LWP)\$$(@B).C
$(C2OBJ) -I$(LWP) $**
$(LIBACLOBJS): $(LIBACL)\$$(@B).C
$(C2OBJ) -I$(LIBACL) $**
$(FSINTOBJS): $(FSINT)\$$(@B).C
$(C2OBJ) -I$(FSINT) $**
EXELIBS = \
$(DESTDIR)\lib\afsauthent.lib \
$(DESTDIR)\lib\afsrpc.lib \
$(DESTDIR)\lib\afs\afscmd.lib \
$(DESTDIR)\lib\afs\afsvol.lib \
$(DESTDIR)\lib\afs\afsutil.lib \
$(DESTDIR)\lib\afs\afsdir.lib \
$(DESTDIR)\lib\afs\afsvol.lib \
$(DESTDIR)\lib\afs\afsaudit.lib \
$(DESTDIR)\lib\afs\afsauth.lib \
$(DESTDIR)\lib\afs\afsvldb.lib \
$(DESTDIR)\lib\afs\afsprot.lib \
$(DESTDIR)\lib\afs\afskauth.lib \
$(DESTDIR)\lib/afs/afscom_err.lib \
$(DESTDIR)\lib\afsubik.lib \
$(DESTDIR)\lib\afsrxkad.lib \
$(DESTDIR)\lib\afs\afsint.lib \
$(DESTDIR)\lib\afsrx.lib \
$(DESTDIR)\lib\afslwp.lib \
$(DESTDIR)\lib\afs\afsacl.lib \
$(DESTDIR)\lib\afs\afsreg.lib \
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
$(DESTDIR)\lib\afs\afseventlog.lib \
$(DESTDIR)\lib\afs\afspioctl.lib \
$(DESTDIR)\lib\afs\mtafsutil.lib \
$(DESTDIR)\lib\afs\mtafsvol.lib \
$(DESTDIR)\lib\afs\mtafsvldb.lib \
$(DESTDIR)\lib\afs\mtafsdir.lib \
$(DESTDIR)\lib\opr.lib \
$(DESTDIR)\lib\afshcrypto.lib \
$(DESTDIR)\lib\afspthread.lib \
$(DESTDIR)\lib\afsroken.lib
$(EXEFILE): $(EXEOBJS) $(EXERES) $(EXELIBS)
$(EXEFILE): $(EXEOBJS) $(EXELIBS)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(EXEPREP)
@ -82,21 +102,19 @@ $(OUT)\cbd.obj: callback.c AFS_component_version_number.h
$(CBD): $(OUT)\cbd.obj $(CBDRES)
$(EXECONLINK)
$(_VC_MANIFEST_EMBED_EXE)
$(CODESIGN_USERLAND)
$(SYMSTORE_IMPORT)
$(_VC_MANIFEST_EMBED_EXE)
$(CODESIGN_USERLAND)
$(SYMSTORE_IMPORT)
############################################################################
# generate versioninfo resources
$(EXERES): fileserver.rc AFS_component_version_number.h
$(CBDRES): cbd.rc AFS_component_version_number.h
install: $(INCFILES) $(CBD)
install: $(INCFILES) $(CBD) $(EXEFILE)
mkdir:
clean::
$(DEL) $(EXERES)
$(DEL) $(CBDRES)

View File

@ -107,9 +107,7 @@ extern void SetDirHandle(DirHandle * dir, Vnode * vnode);
extern void FidZap(DirHandle * file);
extern void FidZero(DirHandle * file);
#ifdef AFS_PTHREAD_ENV
pthread_mutex_t fileproc_glock_mutex;
#endif /* AFS_PTHREAD_ENV */
/* Useful local defines used by this module */
@ -334,9 +332,7 @@ CallPreamble(struct rx_call *acall, int activecall,
int retry_flag = 1;
int code = 0;
char hoststr[16], hoststr2[16];
#ifdef AFS_PTHREAD_ENV
struct ubik_client *uclient;
#endif
*ahostp = NULL;
if (!tconn) {
@ -367,7 +363,6 @@ CallPreamble(struct rx_call *acall, int activecall,
/* Take down the old connection and re-read the key file */
ViceLog(0,
("CallPreamble: Couldn't get CPS. Reconnect to ptserver\n"));
#ifdef AFS_PTHREAD_ENV
uclient = (struct ubik_client *)pthread_getspecific(viced_uclient_key);
/* Is it still necessary to drop this? We hit the net, we should... */
@ -381,9 +376,7 @@ CallPreamble(struct rx_call *acall, int activecall,
if (!code)
osi_Assert(pthread_setspecific(viced_uclient_key, (void *)uclient) == 0);
H_LOCK;
#else
code = pr_Initialize(2, AFSDIR_SERVER_ETC_DIRPATH, 0);
#endif
if (code) {
h_ReleaseClient_r(tclient);
h_Release_r(thost);
@ -523,12 +516,8 @@ CheckVnodeWithCall(AFSFid * fid, Volume ** volptr, struct VCallByVol *cbv,
VRESTARTING
#endif
;
#ifdef AFS_PTHREAD_ENV
static const struct timespec timeout_ts = { 0, 0 };
static const struct timespec * const ts = &timeout_ts;
#else
static const struct timespec * const ts = NULL;
#endif
errorCode = 0;
*volptr = VGetVolumeWithCall(&local_errorCode, &errorCode,
@ -732,9 +721,6 @@ GetRights(struct client *client, struct acl_accessList *ACL,
{
extern prlist SystemAnyUserCPS;
afs_int32 hrights = 0;
#ifndef AFS_PTHREAD_ENV
int code;
#endif
if (acl_CheckRights(ACL, &SystemAnyUserCPS, anyrights) != 0) {
ViceLog(0, ("CheckRights failed\n"));
@ -748,13 +734,7 @@ GetRights(struct client *client, struct acl_accessList *ACL,
H_LOCK;
while (client->host->hostFlags & HCPS_INPROGRESS) {
client->host->hostFlags |= HCPS_WAITING; /* I am waiting */
#ifdef AFS_PTHREAD_ENV
CV_WAIT(&client->host->cond, &host_glock_mutex);
#else /* AFS_PTHREAD_ENV */
if ((code =
LWP_WaitProcess(&(client->host->hostFlags))) != LWP_SUCCESS)
ViceLog(0, ("LWP_WaitProcess returned %d\n", code));
#endif /* AFS_PTHREAD_ENV */
}
if (!client->host->hcps.prlist_len || !client->host->hcps.prlist_val) {
@ -1380,9 +1360,6 @@ CopyOnWrite(Vnode * targetptr, Volume * volptr, afs_foff_t off, afs_fsize_t len)
return EIO;
}
}
#ifndef AFS_PTHREAD_ENV
IOMGR_Poll();
#endif /* !AFS_PTHREAD_ENV */
}
FDH_REALLYCLOSE(targFdP);
rc = IH_DEC(V_linkHandle(volptr), VN_GET_INO(targetptr),

View File

@ -107,7 +107,7 @@
#include "host.h"
#include "callback.h"
#ifdef AFS_DEMAND_ATTACH_FS
#include "../tviced/serialize_state.h"
#include "serialize_state.h"
#endif /* AFS_DEMAND_ATTACH_FS */
@ -1187,11 +1187,7 @@ MultiBreakVolumeLaterCallBack(struct host *host, void *rock)
* Now uses multi-RX for CallBack RPC in a different thread,
* only marking them here.
*/
#ifdef AFS_PTHREAD_ENV
extern pthread_cond_t fsync_cond;
#else
extern char fsync_wait[];
#endif
int
BreakVolumeCallBacksLater(afs_uint32 volume)
@ -1230,13 +1226,9 @@ BreakVolumeCallBacksLater(afs_uint32 volume)
}
ViceLog(25, ("Fsync thread wakeup\n"));
#ifdef AFS_PTHREAD_ENV
FSYNC_LOCK;
CV_BROADCAST(&fsync_cond);
FSYNC_UNLOCK;
#else
LWP_NoYieldSignal(fsync_wait);
#endif
return 0;
}

View File

@ -9,7 +9,7 @@
/* Define VERSIONINFO resource */
#define AFS_VERINFO_FILE_DESCRIPTION "AFS File Server"
#define AFS_VERINFO_FILE_DESCRIPTION "AFS File Server (Threaded)"
#define AFS_VERINFO_NAME "fileserver"
#define AFS_VERINFO_FILENAME "fileserver.exe"

View File

@ -50,12 +50,10 @@
#include "callback.h"
#ifdef AFS_DEMAND_ATTACH_FS
#include "../util/afsutil_prototypes.h"
#include "../tviced/serialize_state.h"
#include "serialize_state.h"
#endif /* AFS_DEMAND_ATTACH_FS */
#ifdef AFS_PTHREAD_ENV
pthread_mutex_t host_glock_mutex;
#endif /* AFS_PTHREAD_ENV */
extern int Console;
extern int CurrentConnections;
@ -208,10 +206,8 @@ GetHTBlock(void)
ViceLog(0, ("Failed malloc in GetHTBlock\n"));
ShutDownAndCore(PANIC);
}
#ifdef AFS_PTHREAD_ENV
for (i = 0; i < (h_HTSPERBLOCK); i++)
CV_INIT(&block->entry[i].cond, "block entry", CV_DEFAULT, 0);
#endif /* AFS_PTHREAD_ENV */
for (i = 0; i < (h_HTSPERBLOCK); i++)
Lock_Init(&block->entry[i].lock);
for (i = 0; i < (h_HTSPERBLOCK - 1); i++)
@ -340,7 +336,6 @@ hpr_End(struct ubik_client *uclient)
int
hpr_GetHostCPS(afs_int32 host, prlist *CPS)
{
#ifdef AFS_PTHREAD_ENV
afs_int32 code;
afs_int32 over;
struct ubik_client *uclient =
@ -366,15 +361,11 @@ hpr_GetHostCPS(afs_int32 host, prlist *CPS)
host);
}
return 0;
#else
return pr_GetHostCPS(host, CPS);
#endif
}
int
hpr_NameToId(namelist *names, idlist *ids)
{
#ifdef AFS_PTHREAD_ENV
afs_int32 code;
afs_int32 i;
struct ubik_client *uclient =
@ -392,15 +383,11 @@ hpr_NameToId(namelist *names, idlist *ids)
stolower(names->namelist_val[i]);
code = ubik_PR_NameToID(uclient, 0, names, ids);
return code;
#else
return pr_NameToId(names, ids);
#endif
}
int
hpr_IdToName(idlist *ids, namelist *names)
{
#ifdef AFS_PTHREAD_ENV
afs_int32 code;
struct ubik_client *uclient =
(struct ubik_client *)pthread_getspecific(viced_uclient_key);
@ -415,15 +402,11 @@ hpr_IdToName(idlist *ids, namelist *names)
code = ubik_PR_IDToName(uclient, 0, ids, names);
return code;
#else
return pr_IdToName(ids, names);
#endif
}
int
hpr_GetCPS(afs_int32 id, prlist *CPS)
{
#ifdef AFS_PTHREAD_ENV
afs_int32 code;
afs_int32 over;
struct ubik_client *uclient =
@ -448,9 +431,6 @@ hpr_GetCPS(afs_int32 id, prlist *CPS)
id);
}
return 0;
#else
return pr_GetCPS(id, CPS);
#endif
}
static short consolePort = 0;
@ -580,12 +560,7 @@ h_gethostcps_r(struct host *host, afs_int32 now)
while (host->hostFlags & HCPS_INPROGRESS) {
slept = 1; /* I did sleep */
host->hostFlags |= HCPS_WAITING; /* I am sleeping now */
#ifdef AFS_PTHREAD_ENV
CV_WAIT(&host->cond, &host_glock_mutex);
#else /* AFS_PTHREAD_ENV */
if ((code = LWP_WaitProcess(&(host->hostFlags))) != LWP_SUCCESS)
ViceLog(0, ("LWP_WaitProcess returned %d\n", code));
#endif /* AFS_PTHREAD_ENV */
}
@ -641,12 +616,7 @@ h_gethostcps_r(struct host *host, afs_int32 now)
/* signal all who are waiting */
if (host->hostFlags & HCPS_WAITING) { /* somebody is waiting */
host->hostFlags &= ~HCPS_WAITING;
#ifdef AFS_PTHREAD_ENV
CV_BROADCAST(&host->cond);
#else /* AFS_PTHREAD_ENV */
if ((code = LWP_NoYieldSignal(&(host->hostFlags))) != LWP_SUCCESS)
ViceLog(0, ("LWP_NoYieldSignal returns %d\n", code));
#endif /* AFS_PTHREAD_ENV */
}
}

View File

@ -14,7 +14,6 @@
#include "fs_stats.h" /*File Server stats package */
#ifdef AFS_PTHREAD_ENV
/*
* There are three locks in the host package.
* the global hash lock protects hash chains.
@ -28,10 +27,6 @@ extern pthread_mutex_t host_glock_mutex;
#define H_LOCK MUTEX_ENTER(&host_glock_mutex);
#define H_UNLOCK MUTEX_EXIT(&host_glock_mutex);
extern pthread_key_t viced_uclient_key;
#else /* AFS_PTHREAD_ENV */
#define H_LOCK
#define H_UNLOCK
#endif /* AFS_PTHREAD_ENV */
#define h_MAXHOSTTABLEENTRIES 1000
#define h_HASHENTRIES 256 /* Power of 2 */
@ -87,9 +82,7 @@ struct host {
afs_uint32 index; /* Host table index, for vicecb.c */
struct Lock lock; /* Write lock for synchronization of
* VenusDown flag */
#ifdef AFS_PTHREAD_ENV
pthread_cond_t cond; /* used to wait on hcpsValid */
#endif /* AFS_PTHREAD_ENV */
};
/* * Don't zero the index, lock or condition varialbles */

View File

@ -73,9 +73,7 @@
#include "viced_prototypes.h"
#include "viced.h"
#include "host.h"
#ifdef AFS_PTHREAD_ENV
# include <afs/softsig.h>
#endif
#include <afs/softsig.h>
#if defined(AFS_SGI_ENV)
# include "sys/schedctl.h"
# include "sys/lock.h"
@ -96,12 +94,8 @@ static afs_int32 Do_VLRegisterRPC(void);
int eventlog = 0, rxlog = 0;
FILE *debugFile;
#ifdef AFS_PTHREAD_ENV
pthread_mutex_t fsync_glock_mutex;
pthread_cond_t fsync_cond;
#else
char fsync_wait[1];
#endif /* AFS_PTHREAD_ENV */
#ifdef AFS_NT40_ENV
# define NT_OPEN_MAX 1024 /* This is an arbitrary no. we came up with for
@ -177,9 +171,7 @@ static int offline_shutdown_timeout = -1; /* -offline-shutdown-timeout option */
struct timeval tp;
#ifdef AFS_PTHREAD_ENV
pthread_key_t viced_uclient_key;
#endif
/*
* FileServer's name and IP address, both network byte order and
@ -269,7 +261,6 @@ CheckDescriptors(void *unused)
} /*CheckDescriptors */
#ifdef AFS_PTHREAD_ENV
void
CheckSignal_Signal(int x)
{
@ -287,25 +278,6 @@ CheckDescriptors_Signal(int x)
{
CheckDescriptors(NULL);
}
#else /* AFS_PTHREAD_ENV */
void
CheckSignal_Signal(int x)
{
IOMGR_SoftSig(CheckSignal, 0);
}
void
ShutDown_Signal(int x)
{
IOMGR_SoftSig(ShutDown, 0);
}
void
CheckDescriptors_Signal(int x)
{
IOMGR_SoftSig(CheckDescriptors, 0);
}
#endif /* AFS_PTHREAD_ENV */
/* check whether caller is authorized to manage RX statistics */
int
@ -327,7 +299,7 @@ ResetCheckSignal(void)
signo = SIGXCPU;
#endif
#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
#if !defined(AFS_NT40_ENV)
softsig_signal(signo, CheckSignal_Signal);
#else
signal(signo, CheckSignal_Signal);
@ -338,11 +310,7 @@ static void
ResetCheckDescriptors(void)
{
#ifndef AFS_NT40_ENV
# if defined(AFS_PTHREAD_ENV)
softsig_signal(SIGTERM, CheckDescriptors_Signal);
# else
(void)signal(SIGTERM, CheckDescriptors_Signal);
# endif
#endif
}
@ -395,7 +363,7 @@ CheckAdminName(void)
static void
setThreadId(char *s)
{
#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
#if !defined(AFS_NT40_ENV)
int threadId;
/* set our 'thread-id' so that the host hold table works */
@ -424,11 +392,7 @@ FiveMinuteCheckLWP(void *unused)
while (1) {
#endif
#ifdef AFS_PTHREAD_ENV
sleep(fiveminutes);
#else /* AFS_PTHREAD_ENV */
IOMGR_Sleep(fiveminutes);
#endif /* AFS_PTHREAD_ENV */
#ifdef AFS_DEMAND_ATTACH_FS
FS_STATE_WRLOCK;
@ -449,9 +413,6 @@ FiveMinuteCheckLWP(void *unused)
if (FS_registered == 1)
Do_VLRegisterRPC();
/* Force wakeup in case we missed something; pthreads does timedwait */
#ifndef AFS_PTHREAD_ENV
LWP_NoYieldSignal(fsync_wait);
#endif
if (printBanner && (++msg & 1)) { /* Every 10 minutes */
time_t now = FT_ApproxTime();
struct tm tm;
@ -494,11 +455,7 @@ HostCheckLWP(void *unused)
while(1) {
#endif
#ifdef AFS_PTHREAD_ENV
sleep(fiveminutes);
#else /* AFS_PTHREAD_ENV */
IOMGR_Sleep(fiveminutes);
#endif /* AFS_PTHREAD_ENV */
#ifdef AFS_DEMAND_ATTACH_FS
FS_STATE_WRLOCK;
@ -534,9 +491,7 @@ static void *
FsyncCheckLWP(void *unused)
{
afs_int32 code;
#ifdef AFS_PTHREAD_ENV
struct timespec fsync_next;
#endif
ViceLog(1, ("Starting fsync check process\n"));
setThreadId("FsyncCheckLWP");
@ -550,7 +505,6 @@ FsyncCheckLWP(void *unused)
while(1) {
#endif
FSYNC_LOCK;
#ifdef AFS_PTHREAD_ENV
/* rounding is fine */
fsync_next.tv_nsec = 0;
fsync_next.tv_sec = time(0) + fiveminutes;
@ -559,10 +513,6 @@ FsyncCheckLWP(void *unused)
&fsync_next);
if (code != 0 && code != ETIMEDOUT)
ViceLog(0, ("pthread_cond_timedwait returned %d\n", code));
#else /* AFS_PTHREAD_ENV */
if ((code = LWP_WaitProcess(fsync_wait)) != LWP_SUCCESS)
ViceLog(0, ("LWP_WaitProcess returned %d\n", code));
#endif /* AFS_PTHREAD_ENV */
FSYNC_UNLOCK;
#ifdef AFS_DEMAND_ATTACH_FS
@ -757,17 +707,10 @@ ShutDownAndCore(int dopanic)
char tbuffer[32];
if (dopanic) {
#ifdef AFS_PTHREAD_ENV
pthread_t watchdogPid;
pthread_attr_t tattr;
osi_Assert(pthread_attr_init(&tattr) == 0);
osi_Assert(pthread_create(&watchdogPid, &tattr, ShutdownWatchdogLWP, NULL) == 0);
#else
PROCESS watchdogPid;
osi_Assert(LWP_CreateProcess
(ShutdownWatchdogLWP, stack * 1024, LWP_MAX_PRIORITY - 2,
NULL, "ShutdownWatchdog", &watchdogPid) == LWP_SUCCESS);
#endif
}
/* do not allows new reqests to be served from now on, all new requests
@ -943,13 +886,13 @@ ParseRights(char *arights)
static int
max_fileserver_thread(void)
{
#if defined(AFS_PTHREAD_ENV) && (defined(AFS_AIX_ENV) || defined(AFS_HPUX_ENV))
#if defined(AFS_AIX_ENV) || defined(AFS_HPUX_ENV)
long ans;
ans = sysconf(_SC_THREAD_THREADS_MAX);
if (0 < ans && ans < MAX_FILESERVER_THREAD)
return (int)ans;
#endif /* defined(AFS_PTHREAD_ENV) */
#endif
return MAX_FILESERVER_THREAD;
}
@ -1081,10 +1024,8 @@ ParseArgs(int argc, char *argv[])
cmd_AddParmAtOffset(opts, OPT_hostcpsrefresh, "-hr", CMD_SINGLE,
CMD_OPTIONAL, "hours between host CPS refreshes");
#if defined(AFS_PTHREAD_ENV)
cmd_AddParmAtOffset(opts, OPT_vattachthreads, "-vattachpar", CMD_SINGLE,
CMD_OPTIONAL, "# of volume attachment threads");
#endif
cmd_AddParmAtOffset(opts, OPT_abortthreshold, "-abortthreshold",
CMD_SINGLE, CMD_OPTIONAL,
@ -1289,9 +1230,7 @@ ParseArgs(int argc, char *argv[])
hostaclRefresh = optval * 60 * 60;
}
#ifdef AFS_PTHREAD_ENV
cmd_OptionAsInt(opts, OPT_vattachthreads, &vol_attach_threads);
#endif /* AFS_PTHREAD_ENV */
cmd_OptionAsInt(opts, OPT_abortthreshold, &abort_threshold);
@ -1300,13 +1239,6 @@ ParseArgs(int argc, char *argv[])
busyonrst = 0;
if (cmd_OptionAsInt(opts, OPT_offline_timeout, &offline_timeout) == 0) {
#ifndef AFS_PTHREAD_ENV
if (offline_timeout != -1) {
printf("The only valid -offline-timeout value for the LWP "
"fileserver is -1\n");
return -1;
}
#endif /* AFS_PTHREAD_ENV */
if (offline_timeout < -1) {
printf("Invalid -offline-timeout value %d; the only valid "
"negative value is -1\n", offline_timeout);
@ -1316,13 +1248,6 @@ ParseArgs(int argc, char *argv[])
if (cmd_OptionAsInt(opts, OPT_offline_shutdown_timeout,
&offline_shutdown_timeout) == 0) {
#ifndef AFS_PTHREAD_ENV
if (offline_shutdown_timeout != -1) {
printf("The only valid -offline-shutdown-timeout value for the "
"LWP fileserver is -1\n");
return -1;
}
#endif /* AFS_PTHREAD_ENV */
if (offline_shutdown_timeout < -1) {
printf("Invalid -offline-timeout value %d; the only valid "
"negative value is -1\n", offline_shutdown_timeout);
@ -1520,9 +1445,7 @@ InitPR(void)
return code;
}
#ifdef AFS_PTHREAD_ENV
osi_Assert(pthread_key_create(&viced_uclient_key, NULL) == 0);
#endif
SystemId = SYSADMINID;
SystemAnyUser = ANYUSERID;
@ -1548,11 +1471,7 @@ InitPR(void)
AnonymousID = ANONYMOUSID;
return 0;
sleep:
#ifdef AFS_PTHREAD_ENV
sleep(30);
#else /* AFS_PTHREAD_ENV */
IOMGR_Sleep(30);
#endif /* AFS_PTHREAD_ENV */
}
} /*InitPR */
@ -1866,12 +1785,8 @@ main(int argc, char *argv[])
struct rx_securityClass **securityClasses;
afs_int32 numClasses;
struct rx_service *tservice;
#ifdef AFS_PTHREAD_ENV
pthread_t serverPid;
pthread_attr_t tattr;
#else /* AFS_PTHREAD_ENV */
PROCESS parentPid, serverPid;
#endif /* AFS_PTHREAD_ENV */
struct hostent *he;
int minVnodesRequired; /* min size of vnode cache */
#ifndef AFS_NT40_ENV
@ -1912,9 +1827,7 @@ main(int argc, char *argv[])
if (ParseArgs(argc, argv)) {
exit(-1);
}
#ifdef AFS_PTHREAD_ENV
MUTEX_INIT(&fileproc_glock_mutex, "fileproc", MUTEX_DEFAULT, 0);
#endif /* AFS_PTHREAD_ENV */
#ifdef AFS_SGI_VNODE_GLUE
if (afs_init_kernel_config(-1) < 0) {
@ -1939,7 +1852,7 @@ main(int argc, char *argv[])
LogCommandLine(argc, argv, "starting", "", "File server", FSLog);
#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
#if !defined(AFS_NT40_ENV)
/* initialize the pthread soft signal handler thread */
softsig_init();
#endif
@ -2008,19 +1921,13 @@ main(int argc, char *argv[])
("The system supports a max of %d open files and we are starting %d threads (ihandle fd cache is %d)\n",
curLimit, lwps, vol_io_params.fd_max_cachesize));
}
#ifndef AFS_PTHREAD_ENV
osi_Assert(LWP_InitializeProcessSupport(LWP_MAX_PRIORITY - 2, &parentPid) ==
LWP_SUCCESS);
#endif /* !AFS_PTHREAD_ENV */
/* Initialize volume support */
if (!novbc) {
V_BreakVolumeCallbacks = BreakVolumeCallBacksLater;
}
#ifdef AFS_PTHREAD_ENV
SetLogThreadNumProgram( rx_GetThreadNum );
#endif
/* initialize libacl routines */
acl_Initialize(ACL_VERSION);
@ -2202,7 +2109,7 @@ main(int argc, char *argv[])
/* Install handler to catch the shutdown signal;
* bosserver assumes SIGQUIT shutdown
*/
#if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
#if !defined(AFS_NT40_ENV)
softsig_signal(SIGQUIT, ShutDown_Signal);
#else
(void)signal(SIGQUIT, ShutDown_Signal);
@ -2231,7 +2138,6 @@ main(int argc, char *argv[])
*/
ih_UseLargeCache();
#ifdef AFS_PTHREAD_ENV
ViceLog(5, ("Starting pthreads\n"));
osi_Assert(pthread_attr_init(&tattr) == 0);
osi_Assert(pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_DETACHED) == 0);
@ -2243,20 +2149,6 @@ main(int argc, char *argv[])
(&serverPid, &tattr, HostCheckLWP, &fiveminutes) == 0);
osi_Assert(pthread_create
(&serverPid, &tattr, FsyncCheckLWP, &fiveminutes) == 0);
#else /* AFS_PTHREAD_ENV */
ViceLog(5, ("Starting LWP\n"));
osi_Assert(LWP_CreateProcess
(FiveMinuteCheckLWP, stack * 1024, LWP_MAX_PRIORITY - 2,
(void *)&fiveminutes, "FiveMinuteChecks",
&serverPid) == LWP_SUCCESS);
osi_Assert(LWP_CreateProcess
(HostCheckLWP, stack * 1024, LWP_MAX_PRIORITY - 2,
(void *)&fiveminutes, "HostCheck", &serverPid) == LWP_SUCCESS);
osi_Assert(LWP_CreateProcess
(FsyncCheckLWP, stack * 1024, LWP_MAX_PRIORITY - 2,
(void *)&fiveminutes, "FsyncCheck", &serverPid) == LWP_SUCCESS);
#endif /* AFS_PTHREAD_ENV */
FT_GetTimeOfDay(&tp, 0);
@ -2289,12 +2181,8 @@ main(int argc, char *argv[])
localtime_r(&t, &tm));
ViceLog(0, ("File Server started %s\n", tbuffer));
afs_FullPerfStats.det.epoch.tv_sec = StartTime = tp.tv_sec;
#ifdef AFS_PTHREAD_ENV
while (1) {
sleep(1000); /* long time */
}
#else /* AFS_PTHREAD_ENV */
osi_Assert(LWP_WaitProcess(&parentPid) == LWP_SUCCESS);
#endif /* AFS_PTHREAD_ENV */
return 0;
}

View File

@ -193,7 +193,6 @@ extern int saneacls;
#define MAX_FILESERVER_THREAD 16384 /* max number of threads in fileserver */
#define FILESERVER_HELPER_THREADS 8 /* Listner, IOMGR, FiveMinute, FsyncCk
* HostCheck, Signal, min 2 for RXSTATS */
#ifdef AFS_PTHREAD_ENV
#include <pthread.h>
extern pthread_mutex_t fileproc_glock_mutex;
#define FS_LOCK MUTEX_ENTER(&fileproc_glock_mutex);
@ -201,12 +200,6 @@ extern pthread_mutex_t fileproc_glock_mutex;
extern pthread_mutex_t fsync_glock_mutex;
#define FSYNC_LOCK MUTEX_ENTER(&fsync_glock_mutex);
#define FSYNC_UNLOCK MUTEX_EXIT(&fsync_glock_mutex);
#else /* AFS_PTHREAD_ENV */
#define FS_LOCK
#define FS_UNLOCK
#define FSYNC_LOCK
#define FSYNC_UNLOCK
#endif /* AFS_PTHREAD_ENV */
#ifdef AFS_DEMAND_ATTACH_FS

View File

@ -10,13 +10,13 @@ MODULE_CFLAGS=-I$(srcdir)/.. -I$(srcdir)/../common/
all check test tests: $(TESTS)
# The direct reference of tviced libraries here is a colossal hack, but
# The direct reference of viced libraries here is a colossal hack, but
# we're just not building pthreaded versions of the vldb interface at the moment.
# Soon, I hope ...
MODULE_LIBS = ../tap/libtap.a \
$(abs_top_builddir)/src/tviced/vldbint.cs.o \
$(abs_top_builddir)/src/tviced/vldbint.xdr.o \
$(abs_top_builddir)/src/viced/vldbint.cs.o \
$(abs_top_builddir)/src/viced/vldbint.xdr.o \
$(abs_top_builddir)/lib/libafsauthent.a \
$(abs_top_builddir)/lib/libafsrpc.a \
$(abs_top_builddir)/lib/libafshcrypto.a \