Increase max chunksize to 128K from 32K. Windows uses 64K SMB writes.
The large chunksize helps reduce the overlapped write to afs issue.
Increase number of server threads from 4 to 25. Also helps to aleviate
the symptoms of the overlapped write to afs issue. I can now write files
as large as 80MB. 120MB files still fail.
Export pr_CreateUser and pr_SNameToId from afsauthent.lib in order to
allow aklog.exe to use them to determine if a new pts uid should be
created for a user when accessing a foreign cell.
Modify pioctl to output a message to stderr if a Downgrade Detection error
has been returned when attempting to open the __IOCTL__ file.
Increase version number to 1.3.6601
Use HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer:Logon User Name
to determine the current user name for the afscreds.exe display
Do not allow submount names to have forward or backward slashes
Add debug info to cm_ioctl to track token addition and deletion
Add register new user code to aklog.exe from KenH's AFS kit
Correct test in cm_callback.c for freelance root.afs volume which
should not have been applied when freelance was not active.
Move most log entries to the osi trace log from the afsd_init.log
Add log entries to help diagnose the lost callback problem
Fix a variety of type errors in header files and casts
More fixes for cm_Analyze. Do not allow a retry to be performed
if the timeLeft on the call has expired. Forcing a retry resets the
timeout period causing the call to never expire. The side effect is
that the SMB sessions never close. When the Windows SMB client times
out it will create a new session at a rate of one per 66 seconds. This
causes the SMB session limit to be exceeded and we panic.
Modify the SMB Session limit to be four less then the number of SMB
NCBs. This is because the server itself uses 4 NCBs which are not associated
with sessions.
As discovered previously, the cm_serverRef_t objects were not reference
counted. This resulted in the objects being freed while they were
still in use. This patch adds reference counting to the cm_serverRef_t
objects which are locked using the cm_serverLock.
Once the reference counting was fixed it became immediately obvious
that cm_VolumeUpdates could not succeed in altering the state of a
server list from ALLOFFLINE to NOTBUSY. cm_VolumeUpdate calls cm_Analyze
without a fid_t object which was required to obtain the server list for
the affected volume. Of course, cm_VolumeUpdate has a pointer to the
volume so cm_Analyze was updated to take an optional pointer to a
cm_serverRef_t which avoids the need for the fid_t object.
Undo the previous patch. the server list can't be cloned.
instead we will have to refCount the cm_serverRef_t objects.
This is going to be a lot of work. To be continued ...
This is a variation of Joe Buehler's request.
New registry key "NonPersistentCache" places the cache file into the
Windows paging file. One limitation of doing so is that the page file
cannot be grown with "fs setcachesize" and the associated ioctl.
There was a race condition where between a thread calling cm_GetServerList and using the returned server list, another
thread could free the server list. Now cm_GetServerList duplicates the server list with proper locks held. Callers of
cm_GetServerList call cm_FreeServerList to free the returned list.
FIXES 5926
This patch solves the problem of how timestamps are handled by during a
'vos restore' by allowing the specification of there the creation and last
updated timestamps are taken from:
- generate a new one using the current time
- retain the one in the target volume if there is one
- restore the timestamp from the dump file
This is needed to allow sequences of restoring incremental dumps on top of
full dump work, and to ensure that a subsequent vos release can do a real
incremental release for the restored incremental dumps.
It also fixes the fact that the vos exa command hides potential problems
with timestamps by refusing to display a last updated timestamp that is
older than the creation timestamp.
FIXES 6002
The appended patch resets afs_globalVFS to NULL if /afs cannot be mounted,
eg., if no cell server is accessible.
There are two advantages:
- it is possible to do "afsd -shutdown" to terminate all daemons
- more importantly, if /afs cannot be mounted, the linux kernel will
probably free the superblock, ie the memory pointed to afs_globalVFS.
i should be dragged away and beaten for this
first pass at interface to allow bound Rx sockets
====================
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.
====================
i should be dragged away and beaten for this
====================
i should be dragged away and beaten for this
first pass at interface to allow bound Rx sockets
====================
i should be dragged away and beaten for this
first pass at interface to allow bound Rx sockets
====================
i should be dragged away and beaten for this
first pass at interface to allow bound Rx sockets
====================
i should be dragged away and beaten for this
first pass at interface to allow bound Rx sockets
====================
i should be dragged away and beaten for this
first pass at interface to allow bound Rx sockets
====================
i should be dragged away and beaten for this
first pass at interface to allow bound Rx sockets
fix the handling of unc paths in pioctl calls when the current directory
is the unc path. (not likely to be the case with cmd.exe since it does
not support pure unc path environments. 4nt.exe shows the problem though.)
Preliminary support for FreeBSD 5.3 and OpenBSD 3.6.
OpenBSD osi_vnodeops.c patch from brent@graveland.net (slightly modified)
Remove obsolete src/lwp/process.fbsd.s to prevent further confusion
Fix cm_Lookup to properly set the rw flag when adding Freelance mount
points based on whether the filename begins with a '.'
Fix cm_FreelanceAddMount to set the cellname to the cellname without
the '.' when rw mode is used and a cellname is not provided.
Prevent a TID allocated for IPC from being used for anything other than RAP.
Implement NetServerGetInfo instead of returning an error.
When looking for shares, go through root.afs first before trying to add a
mount point.
Update .cvsignore files for windows
====================
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.
====================
cleanup uninitialized variables
====================
more dlls to be replaced
====================
When determining the full path of a UNC path, strip the server and
share names
if we are going to return CM_ERROR_NOSUCHVOLUME do it whenever the
server list is empty. If the server list is empty, allDown and allBusy
will always be set but there is nothing we can do.
* update winnotes
* add osi trace log entries to help diagnose issues with overlapped writes
from CIFS client
* fix osi trace log entries for freelance add mount to use osi_SaveLogString
* fix afscreds "Start Service" to automatically obtain tokens if kerberos
tickets are available
* update afscreds systray menu to use "..." after Remove Icon
* remove extra "." in wix installer resource
Change cm_ForceUpdateVolume to not try to perform an immediate update.
Just set the CM_VOLUMEFLAG_RESET flag. Calling cm_UpdateVolume calls
cm_connByMServers which then calls cm_Analyze which is how we ended
up having cm_ForceUpdateVolume called in the first place.
Don't fallback to SMB_AUTH_NTLM. Apparently, allowing SPNEGO to be
used each time prevents the failure of authentication when logged into
Windows with an external Kerberos principal mapped to a local account.
Change default security level to 'crypt'.
Add registry key for SMBAuthType.
Add configurable property for SMBAuthType.
Remove high security mode option from the UI.
Workaround UI bug where a text control would redraw twice, once properly, once without interpreting format codes when
there are two properties to replace.