This massive patch contains changes in several significant areas for Windows:
- the ability to specify the mount point to be something other than /afs
- functionality to assist debugging of the NT Services
- support for languages other than English (NTLang.bat)
- revisions to the Build system to support separate trees for src, obj,
dest and free or checked; allow any MS compiler to be used
- updates to NSIS installer build
- mutex locking added to critical locations
- updates to IS5 directory tree creation
- update to afswsNetscape_config.sh
FIXES 2521
The issue: when you restore an incremental dump to an existing volume,
the creation timestamp of the target volume gets reset to the current timestamp
(literally the timestamp of when the 'vos restore' command is being executed).
That messes things up for any subsequent 'vos release' operation, because such
operation then needs to do a full release rather than an incremental one. For
large volumes that can be quite an issue.
FIXES 2498
CheckHost() sets the HOSTDELETED flag on a host, does its
touch, calls H_UNLOCK at the end of its function;
AddCallBCal1 in a different thread grabs the lock, does its
thing. Gets to GetSomeSpace_r(), which calls
h_Enumerate_r; the host in question isn't held, so
h_Enumerate_r calls h_Hold_r and h_Release_r on the host
that CheckHost() set the HOSTDELETED flag on; h_Release_r
sees the HOSTDELETED flag and calls h_TossStuff_r, poof, we
have our broken host entry for ClearHostCallbacks_r to trip
FIXES 2518
namei_dec now logs if you have open ihandles when you unlink a file
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
FIXES 2518
flush all dir buffers we have cached when rewriting a volume from a restore
avoids holding an ihandle which has an open fdhandle for an unlinked file
====================
FIXES 2518
remove logging code for now. it appears to trigger on some possibly legitimate operations.
use multi Rx to GetTime all servers we wish to talk to in parallel. This
should have the effect of compressing the amount of time to time out all
fileservers to (1 times full set of Rx transmit intervals) instead of (n times
same). VLservers get handled out of band and so aren't in scope for this
change.
without this, if you're in a directory that the second or later entry in a
sysname list resolved to, pwd returns ESTALE. force the true path to have its
dentry cached.
use poll instead of select for 3.5 and beyond
reported by provos
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
works much better if you check the right vnode pointer
while we're syncing a new database over, and if the sync fails, don't keep
serving out of the truncated and/or trashed database. set the db version to 0
before starting the sync.
FIXES 2100
lhs cast illegal, some compilers barf, remove it.
====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
FIXES 2100
lhs cast illegal, some compilers barf, remove it.
this time commit the correct patch
FIXES 2120
WINNT/talocale/TaLocale.h conditionally defines REALLOC() to
TaLocaleReallocFunction().
WINNT/client_creds/afscred.h conditionally defines REALLOC() to
AfsCredsReallocFunction().
Unfortunately, AfsCredsReallocFunction is never used because REALLOC is
always defined first by an include of Talocale.h within afscreds.h.
This is a problem because it results in memory being allocated within a
DLL and then freed by the EXE. This results in both a memory leak in
the DLL and memory corruption in the EXE.