Index: openafs/src/NTMakefile
diff -c openafs/src/NTMakefile:1.27.2.3 openafs/src/NTMakefile:1.27.2.4
*** openafs/src/NTMakefile:1.27.2.3 Thu Feb 15 13:14:07 2007
--- openafs/src/NTMakefile Sun Aug 12 22:13:28 2007
***************
*** 605,612 ****
install: finale
- # InstallShield dependencies
-
# Clean target for obj tree
clean:
nmake /nologo /f ntmakefile "NTMAKE = nmake /nologo /f ntmakefile clean" "NTMAKE_HEADERS = nmake /nologo /f ntmakefile clean" "NTMAKE_OBJS = nmake /nologo /f ntmakefile clean" install
--- 605,610 ----
***************
*** 653,675 ****
$(NTMAKE)
$(CD) ..\..\..\..
! InstallShield5:
! echo ***** afs_setup_utils
! $(DOCD) $(SRC)\WINNT\afs_setup_utils
! $(CD) $(SRC)\WINNT\afs_setup_utils
! $(NTMAKE)
! $(CD) ..\..\..
!
! $(DOCD) $(SRC)\WINNT\install\$@
! $(CD) $(SRC)\WINNT\install\$@
! $(NTMAKE)
! $(CD) ..\..\..\..
!
! media: install InstallShield5 NSIS wix
install-nsis: install NSIS
install-wix: install wix
! install-is5: install InstallShield5
--- 651,661 ----
$(NTMAKE)
$(CD) ..\..\..\..
! media: install NSIS wix
install-nsis: install NSIS
install-wix: install wix
!
Index: openafs/src/WINNT/afsd/afsd_init.c
diff -c openafs/src/WINNT/afsd/afsd_init.c:1.79.2.14 openafs/src/WINNT/afsd/afsd_init.c:1.79.2.15
*** openafs/src/WINNT/afsd/afsd_init.c:1.79.2.14 Fri Jun 22 10:12:39 2007
--- openafs/src/WINNT/afsd/afsd_init.c Fri Aug 10 16:39:26 2007
***************
*** 541,546 ****
--- 541,547 ----
osi_uid_t debugID;
afs_uint64 cacheBlocks;
DWORD cacheSize;
+ DWORD blockSize;
long logChunkSize;
DWORD stats;
DWORD dwValue;
***************
*** 696,708 ****
logChunkSize);
logChunkSize = CM_CONFIGDEFAULT_CHUNKSIZE;
}
- afsi_log("Chunk size %d", logChunkSize);
} else {
logChunkSize = CM_CONFIGDEFAULT_CHUNKSIZE;
- afsi_log("Default chunk size %d", logChunkSize);
}
cm_logChunkSize = logChunkSize;
cm_chunkSize = 1 << logChunkSize;
dummyLen = sizeof(numBkgD);
code = RegQueryValueEx(parmKey, "Daemons", NULL, NULL,
--- 697,734 ----
logChunkSize);
logChunkSize = CM_CONFIGDEFAULT_CHUNKSIZE;
}
} else {
logChunkSize = CM_CONFIGDEFAULT_CHUNKSIZE;
}
cm_logChunkSize = logChunkSize;
cm_chunkSize = 1 << logChunkSize;
+ afsi_log("Chunk size %u (%d)", cm_chunkSize, cm_logChunkSize);
+
+ dummyLen = sizeof(blockSize);
+ code = RegQueryValueEx(parmKey, "blockSize", NULL, NULL,
+ (BYTE *) &blockSize, &dummyLen);
+ if (code == ERROR_SUCCESS) {
+ if (blockSize < 1 ||
+ (blockSize > 1024 && (blockSize % CM_CONFIGDEFAULT_BLOCKSIZE != 0)))
+ {
+ afsi_log("Invalid block size %u specified, using default", blockSize);
+ blockSize = CM_CONFIGDEFAULT_BLOCKSIZE;
+ } else {
+ /*
+ * if the blockSize is less than 1024 we permit the blockSize to be
+ * specified in multiples of the default blocksize
+ */
+ if (blockSize <= 1024)
+ blockSize *= CM_CONFIGDEFAULT_BLOCKSIZE;
+ }
+ } else {
+ blockSize = CM_CONFIGDEFAULT_BLOCKSIZE;
+ }
+ if (blockSize > cm_chunkSize) {
+ afsi_log("Block size cannot be larger than Chunk size.");
+ blockSize = cm_chunkSize;
+ }
+ afsi_log("Block size %u", blockSize);
dummyLen = sizeof(numBkgD);
code = RegQueryValueEx(parmKey, "Daemons", NULL, NULL,
***************
*** 1033,1039 ****
RegCloseKey (parmKey);
! cacheBlocks = ((afs_uint64)cacheSize * 1024) / CM_CONFIGDEFAULT_BLOCKSIZE;
/* get network related info */
cm_noIPAddr = CM_MAXINTERFACE_ADDR;
--- 1059,1065 ----
RegCloseKey (parmKey);
! cacheBlocks = ((afs_uint64)cacheSize * 1024) / blockSize;
/* get network related info */
cm_noIPAddr = CM_MAXINTERFACE_ADDR;
***************
*** 1076,1082 ****
cm_InitCallback();
! code = cm_InitMappedMemory(virtualCache, cm_CachePath, stats, cm_chunkSize, cacheBlocks);
afsi_log("cm_InitMappedMemory code %x", code);
if (code != 0) {
*reasonP = "error initializing cache file";
--- 1102,1108 ----
cm_InitCallback();
! code = cm_InitMappedMemory(virtualCache, cm_CachePath, stats, cm_chunkSize, cacheBlocks, blockSize);
afsi_log("cm_InitMappedMemory code %x", code);
if (code != 0) {
*reasonP = "error initializing cache file";
Index: openafs/src/WINNT/afsd/afsd_service.c
diff -c openafs/src/WINNT/afsd/afsd_service.c:1.52.4.13 openafs/src/WINNT/afsd/afsd_service.c:1.52.4.15
*** openafs/src/WINNT/afsd/afsd_service.c:1.52.4.13 Fri Jul 6 19:22:03 2007
--- openafs/src/WINNT/afsd/afsd_service.c Sun Aug 12 22:53:30 2007
***************
*** 1150,1156 ****
ServiceStatus.dwCurrentState = SERVICE_START_PENDING;
ServiceStatus.dwWin32ExitCode = NO_ERROR;
ServiceStatus.dwCheckPoint = 1;
! ServiceStatus.dwWaitHint = 30000;
/* accept Power Events */
ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_POWEREVENT | SERVICE_ACCEPT_PARAMCHANGE;
SetServiceStatus(StatusHandle, &ServiceStatus);
--- 1150,1156 ----
ServiceStatus.dwCurrentState = SERVICE_START_PENDING;
ServiceStatus.dwWin32ExitCode = NO_ERROR;
ServiceStatus.dwCheckPoint = 1;
! ServiceStatus.dwWaitHint = 120000;
/* accept Power Events */
ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_POWEREVENT | SERVICE_ACCEPT_PARAMCHANGE;
SetServiceStatus(StatusHandle, &ServiceStatus);
***************
*** 1228,1240 ****
}
else
{
! /* allow another 15 seconds to start */
ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
ServiceStatus.dwServiceSpecificExitCode = 0;
ServiceStatus.dwCurrentState = SERVICE_START_PENDING;
ServiceStatus.dwWin32ExitCode = NO_ERROR;
ServiceStatus.dwCheckPoint = 2;
! ServiceStatus.dwWaitHint = 20000;
/* accept Power Events */
ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_POWEREVENT | SERVICE_ACCEPT_PARAMCHANGE;
SetServiceStatus(StatusHandle, &ServiceStatus);
--- 1228,1240 ----
}
else
{
! /* allow another 120 seconds to start */
ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
ServiceStatus.dwServiceSpecificExitCode = 0;
ServiceStatus.dwCurrentState = SERVICE_START_PENDING;
ServiceStatus.dwWin32ExitCode = NO_ERROR;
ServiceStatus.dwCheckPoint = 2;
! ServiceStatus.dwWaitHint = 120000;
/* accept Power Events */
ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_POWEREVENT | SERVICE_ACCEPT_PARAMCHANGE;
SetServiceStatus(StatusHandle, &ServiceStatus);
***************
*** 1258,1265 ****
}
#ifndef NOTSERVICE
! ServiceStatus.dwCheckPoint++;
! ServiceStatus.dwWaitHint -= 5000;
SetServiceStatus(StatusHandle, &ServiceStatus);
#endif
code = afsd_InitDaemons(&reason);
--- 1258,1265 ----
}
#ifndef NOTSERVICE
! ServiceStatus.dwCheckPoint = 3;
! ServiceStatus.dwWaitHint = 30000;
SetServiceStatus(StatusHandle, &ServiceStatus);
#endif
code = afsd_InitDaemons(&reason);
***************
*** 1296,1303 ****
}
#ifndef NOTSERVICE
! ServiceStatus.dwCheckPoint++;
! ServiceStatus.dwWaitHint -= 5000;
SetServiceStatus(StatusHandle, &ServiceStatus);
#endif
--- 1296,1303 ----
}
#ifndef NOTSERVICE
! ServiceStatus.dwCheckPoint = 4;
! ServiceStatus.dwWaitHint = 15000;
SetServiceStatus(StatusHandle, &ServiceStatus);
#endif
***************
*** 1352,1358 ****
#ifndef NOTSERVICE
ServiceStatus.dwCurrentState = SERVICE_RUNNING;
ServiceStatus.dwWin32ExitCode = NO_ERROR;
! ServiceStatus.dwCheckPoint = 0;
ServiceStatus.dwWaitHint = 0;
/* accept Power events */
--- 1352,1358 ----
#ifndef NOTSERVICE
ServiceStatus.dwCurrentState = SERVICE_RUNNING;
ServiceStatus.dwWin32ExitCode = NO_ERROR;
! ServiceStatus.dwCheckPoint = 5;
ServiceStatus.dwWaitHint = 0;
/* accept Power events */
***************
*** 1401,1406 ****
--- 1401,1413 ----
CloseHandle(hAFSDWorkerThread[cnt]);
#endif
+ ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
+ ServiceStatus.dwWin32ExitCode = NO_ERROR;
+ ServiceStatus.dwCheckPoint = 6;
+ ServiceStatus.dwWaitHint = 120000;
+ ServiceStatus.dwControlsAccepted = 0;
+ SetServiceStatus(StatusHandle, &ServiceStatus);
+
afsi_log("Received Termination Signal, Stopping Service");
if ( GlobalStatus )
***************
*** 1420,1438 ****
}
FreeLibrary(hHookDll);
hHookDll = NULL;
-
- if (hookRc == FALSE)
- {
- ServiceStatus.dwCurrentState = SERVICE_STOPPED;
- ServiceStatus.dwWin32ExitCode = NO_ERROR;
- ServiceStatus.dwCheckPoint = 0;
- ServiceStatus.dwWaitHint = 0;
- ServiceStatus.dwControlsAccepted = 0;
- SetServiceStatus(StatusHandle, &ServiceStatus);
-
- /* exit if initialization failed */
- return;
- }
}
--- 1427,1432 ----
***************
*** 1500,1506 ****
ServiceStatus.dwCurrentState = SERVICE_STOPPED;
ServiceStatus.dwWin32ExitCode = GlobalStatus ? ERROR_EXCEPTION_IN_SERVICE : NO_ERROR;
! ServiceStatus.dwCheckPoint = 0;
ServiceStatus.dwWaitHint = 0;
ServiceStatus.dwControlsAccepted = 0;
SetServiceStatus(StatusHandle, &ServiceStatus);
--- 1494,1500 ----
ServiceStatus.dwCurrentState = SERVICE_STOPPED;
ServiceStatus.dwWin32ExitCode = GlobalStatus ? ERROR_EXCEPTION_IN_SERVICE : NO_ERROR;
! ServiceStatus.dwCheckPoint = 7;
ServiceStatus.dwWaitHint = 0;
ServiceStatus.dwControlsAccepted = 0;
SetServiceStatus(StatusHandle, &ServiceStatus);
Index: openafs/src/WINNT/afsd/afskfw.c
diff -c openafs/src/WINNT/afsd/afskfw.c:1.28.4.8 openafs/src/WINNT/afsd/afskfw.c:1.28.4.9
*** openafs/src/WINNT/afsd/afskfw.c:1.28.4.8 Wed Apr 18 11:59:35 2007
--- openafs/src/WINNT/afsd/afskfw.c Tue Aug 21 04:44:06 2007
***************
*** 1,5 ****
/*
! * Copyright (c) 2004, 2005, 2006 Secure Endpoints Inc.
* Copyright (c) 2003 SkyRope, LLC
* All rights reserved.
*
--- 1,5 ----
/*
! * Copyright (c) 2004, 2005, 2006, 2007 Secure Endpoints Inc.
* Copyright (c) 2003 SkyRope, LLC
* All rights reserved.
*
***************
*** 3609,3615 ****
DWORD dwLen = 0;
if (!hUserToken || !newfilename || size <= 0)
! return;
*newfilename = '\0';
--- 3609,3615 ----
DWORD dwLen = 0;
if (!hUserToken || !newfilename || size <= 0)
! return 1;
*newfilename = '\0';
Index: openafs/src/WINNT/afsd/cm_btree.c
diff -c /dev/null openafs/src/WINNT/afsd/cm_btree.c:1.1.2.2
*** /dev/null Thu Aug 23 22:27:14 2007
--- openafs/src/WINNT/afsd/cm_btree.c Wed Aug 22 12:00:45 2007
***************
*** 0 ****
--- 1 ----
+ /* Place holder for B+ tree source code */
Index: openafs/src/WINNT/afsd/cm_btree.h
diff -c /dev/null openafs/src/WINNT/afsd/cm_btree.h:1.1.2.2
*** /dev/null Thu Aug 23 22:27:14 2007
--- openafs/src/WINNT/afsd/cm_btree.h Wed Aug 22 12:00:45 2007
***************
*** 0 ****
--- 1 ----
+ /* place holder for B+ tree header */
Index: openafs/src/WINNT/afsd/cm_memmap.c
diff -c openafs/src/WINNT/afsd/cm_memmap.c:1.7.2.6 openafs/src/WINNT/afsd/cm_memmap.c:1.7.2.7
*** openafs/src/WINNT/afsd/cm_memmap.c:1.7.2.6 Fri Jun 22 18:16:39 2007
--- openafs/src/WINNT/afsd/cm_memmap.c Fri Aug 10 16:39:26 2007
***************
*** 622,628 ****
}
int
! cm_InitMappedMemory(DWORD virtualCache, char * cachePath, DWORD stats, DWORD chunkSize, afs_uint64 cacheBlocks)
{
HANDLE hf = INVALID_HANDLE_VALUE, hm;
PSECURITY_ATTRIBUTES psa;
--- 622,629 ----
}
int
! cm_InitMappedMemory(DWORD virtualCache, char * cachePath, DWORD stats, DWORD chunkSize,
! afs_uint64 cacheBlocks, afs_uint32 blockSize)
{
HANDLE hf = INVALID_HANDLE_VALUE, hm;
PSECURITY_ATTRIBUTES psa;
***************
*** 641,647 ****
volumeSerialNumber = GetVolSerialNumber(cachePath);
GetMachineSid(machineSid, sizeof(machineSid));
! mappingSize = ComputeSizeOfMappingFile(stats, maxVols, maxCells, chunkSize, cacheBlocks, CM_CONFIGDEFAULT_BLOCKSIZE);
if ( !virtualCache ) {
psa = CreateCacheFileSA();
--- 642,648 ----
volumeSerialNumber = GetVolSerialNumber(cachePath);
GetMachineSid(machineSid, sizeof(machineSid));
! mappingSize = ComputeSizeOfMappingFile(stats, maxVols, maxCells, chunkSize, cacheBlocks, blockSize);
if ( !virtualCache ) {
psa = CreateCacheFileSA();
***************
*** 756,762 ****
config_data_p->maxCells == maxCells &&
config_data_p->chunkSize == chunkSize &&
config_data_p->buf_nbuffers == cacheBlocks &&
! config_data_p->blockSize == CM_CONFIGDEFAULT_BLOCKSIZE &&
config_data_p->bufferSize == mappingSize)
{
if ( config_data_p->dirty ) {
--- 757,763 ----
config_data_p->maxCells == maxCells &&
config_data_p->chunkSize == chunkSize &&
config_data_p->buf_nbuffers == cacheBlocks &&
! config_data_p->blockSize == blockSize &&
config_data_p->bufferSize == mappingSize)
{
if ( config_data_p->dirty ) {
***************
*** 849,855 ****
cm_data.baseAddress = baseAddress;
cm_data.stats = stats;
cm_data.chunkSize = chunkSize;
! cm_data.blockSize = CM_CONFIGDEFAULT_BLOCKSIZE;
cm_data.bufferSize = mappingSize;
cm_data.scacheHashTableSize = osi_PrimeLessThan(stats / 2 + 1);
cm_data.volumeHashTableSize = osi_PrimeLessThan((afs_uint32)(maxVols/7 + 1));
--- 850,856 ----
cm_data.baseAddress = baseAddress;
cm_data.stats = stats;
cm_data.chunkSize = chunkSize;
! cm_data.blockSize = blockSize;
cm_data.bufferSize = mappingSize;
cm_data.scacheHashTableSize = osi_PrimeLessThan(stats / 2 + 1);
cm_data.volumeHashTableSize = osi_PrimeLessThan((afs_uint32)(maxVols/7 + 1));
***************
*** 862,868 ****
cm_data.buf_nbuffers = cacheBlocks;
cm_data.buf_nOrigBuffers = 0;
! cm_data.buf_blockSize = CM_BUF_BLOCKSIZE;
cm_data.buf_hashSize = osi_PrimeLessThan((afs_uint32)(cacheBlocks/7 + 1));
cm_data.mountRootGen = time(NULL);
--- 863,869 ----
cm_data.buf_nbuffers = cacheBlocks;
cm_data.buf_nOrigBuffers = 0;
! cm_data.buf_blockSize = blockSize;
cm_data.buf_hashSize = osi_PrimeLessThan((afs_uint32)(cacheBlocks/7 + 1));
cm_data.mountRootGen = time(NULL);
***************
*** 899,905 ****
cm_data.bufHeaderBaseAddress = (cm_buf_t *) baseAddress;
baseAddress += ComputeSizeOfDataHeaders(cacheBlocks);
cm_data.bufDataBaseAddress = (char *) baseAddress;
! baseAddress += ComputeSizeOfDataBuffers(cacheBlocks, CM_CONFIGDEFAULT_BLOCKSIZE);
cm_data.bufEndOfData = (char *) baseAddress;
cm_data.buf_dirtyListp = NULL;
cm_data.buf_dirtyListEndp = NULL;
--- 900,906 ----
cm_data.bufHeaderBaseAddress = (cm_buf_t *) baseAddress;
baseAddress += ComputeSizeOfDataHeaders(cacheBlocks);
cm_data.bufDataBaseAddress = (char *) baseAddress;
! baseAddress += ComputeSizeOfDataBuffers(cacheBlocks, blockSize);
cm_data.bufEndOfData = (char *) baseAddress;
cm_data.buf_dirtyListp = NULL;
cm_data.buf_dirtyListEndp = NULL;
Index: openafs/src/WINNT/afsd/cm_memmap.h
diff -c openafs/src/WINNT/afsd/cm_memmap.h:1.3.4.4 openafs/src/WINNT/afsd/cm_memmap.h:1.3.4.5
*** openafs/src/WINNT/afsd/cm_memmap.h:1.3.4.4 Fri Jun 22 18:16:39 2007
--- openafs/src/WINNT/afsd/cm_memmap.h Fri Aug 10 16:39:26 2007
***************
*** 115,119 ****
VOID FreeCacheFileSA(PSECURITY_ATTRIBUTES psa);
int cm_ShutdownMappedMemory(void);
int cm_ValidateMappedMemory(char * cachePath);
! int cm_InitMappedMemory(DWORD virtualCache, char * cachePath, DWORD stats, DWORD chunkSize, afs_uint64 cacheBlocks );
#endif /* CM_MEMMAP_H */
\ No newline at end of file
--- 115,119 ----
VOID FreeCacheFileSA(PSECURITY_ATTRIBUTES psa);
int cm_ShutdownMappedMemory(void);
int cm_ValidateMappedMemory(char * cachePath);
! int cm_InitMappedMemory(DWORD virtualCache, char * cachePath, DWORD stats, DWORD chunkSize, afs_uint64 cacheBlocks, afs_uint32 blockSize);
#endif /* CM_MEMMAP_H */
\ No newline at end of file
Index: openafs/src/WINNT/afsd/cm_vnodeops.c
diff -c openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.34 openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.38
*** openafs/src/WINNT/afsd/cm_vnodeops.c:1.69.2.34 Thu Aug 2 16:58:42 2007
--- openafs/src/WINNT/afsd/cm_vnodeops.c Thu Aug 23 16:43:08 2007
***************
*** 1857,1876 ****
userp, reqp, &nscp);
if (code == 0) {
! for ( i=0; i OpenAFS for Windows
! Version 1.5.22
OpenAFS for Windows
! Version 1.5.23
--- 80,86 ---- · OpenAFS for Windows 1.5.23 Release Notes
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.17 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.18 *** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm:1.1.6.17 Thu Aug 9 11:46:21 2007 --- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/logo.htm Thu Aug 23 13:13:20 2007 *************** *** 18,24 **** .shape {behavior:url(#default#VML);} !
OpenAFS for Windows 1.5.22
Release Notes
The Andrew File System (AFS) is a location-independent --- 586,592 ----
OpenAFS for Windows 1.5.23
Release Notes
The Andrew File System (AFS) is a location-independent
Index: openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm
diff -c openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.16 openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.17
*** openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm:1.2.6.16 Thu Aug 9 11:46:24 2007
--- openafs/src/WINNT/doc/install/Documentation/en_US/html/ReleaseNotes/toc.htm Thu Aug 23 13:13:21 2007
***************
*** 10,16 ****