fix the computation of the ShortName. Take into account the network
byte order of the cm_dirFid_t fields.
send error packets from within the function as needed. do not return
the error to the caller.
why the heck would it be a good idea to rewrite the BosConfig while we are starting, exactly?
====================
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.
====================
why the heck would it be a good idea to rewrite the BosConfig while we are start
ing, exactly?
FIXES 46937
"vos release" per default does an incremental dump.
volser-dump-validate-input-20060417 ends up with keeping dead vnodes and
data in the remote RO-volume. This patch corrects the behavior for
RO-volumes.
See ticket for extensive discussion.
remove the autorun for the AFS Server Wizard
remove the shortcut to the AFS Server Wizard
update the service dependencies for the bosctlsvc (tcpip and PNP_TDI)
When performing a SMB FindFirst/FindNext/FindClose operation if there
are no wildcards involved, we can optimize the case and turn it from
O(n) to O(1) where 'n' is the number of entries in the directory.
This can be done by performing a cm_Lookup() and if it succeeds,
constructing the appropriate response instead of parsing the contents
of each buffer associated with the directory looking for matches.
Without this optimization, FindFirst operations on directories containing
thousands of entries can take a large number of seconds to complete.
When rxBind was added it made an assumption that rx_GetIFInfo could be
called before rx_InitXYZ. This is true on non-Windows platforms, but
on Windows rxGetIFInfo relies on an initialized mutex. This patch adds
a DllMain for Windows in order to initialize the mutex object upon DLL
load.
make vldb_check able to repair at least some kinds of damage
run it on a vldb which does not have a server operating live on it
verify the result with vldb_check before using.
While investigating the reasons behind the Drive Mapping listbox
failing to permit entries 2 or above to be edited or removed and
the text string being truncated to two characters (on some systems)
I discovered that the subclasses were being recompiled into each
application instead of linking against the DLL that contains the
controls.
The custom controls have been renamed to address name space issues.
The "Drive X:" label changed to "X:" to permit single character item
selection within the listbox.
Still have no idea what is really going on. Spy++ shows the Windows
messages being sent to the correct Windows. However, the getcount
message never obtains a value other than 0 or 1. This is probably
why the selection code is broken. Still working on it.
When there are no free buffers, don't loop continuously.
Sleep so that the other threads that are holding the buffers
can grab the global buffer lock and release them.
(1) Power Management improvements. Maintain a global flag that
specifies whether or not the service is in a suspend state.
Do not panic if Netbios() returns NRC_BRIDGE meaning that the
lana is no longer valid. Instead, stop the listener threads
and if all listener threads are stopped, reset the lana_list.
Allow the cm_Daemon() thread to periodically check the state
of the smb listeners. If they are all stopped and the service
is not suspended, attempt to restart them. If there are no valid
lanas, return to the stopped state.
(2) CreateX and NTCreateX use cm_CheckNTOpen() to test whether or not
the user is permitted to obtain read or write locks. This function
would obtain the lock and then drop it returning whether or not
the lock could be obtained. If the lock was in fact required,
CreateX/NTCreateX would then obtain it with cm_Lock(). The problem
of course being that this pattern results in three RPCs to the
file server (lock, unlock, lock). This is reduced to one RPC by
implementing cm_CheckNTOpenDone() which frees the allocated byte
range lock from cm_CheckNTOpen() after the cm_Lock() call is
performed.
(3) Remove unused code.
(4) Add debugging to SMB Directory Search functions.
(5) Increase the SMB Ioctl MaxData size
Separately log TGT requests in addition to logging the authentication so
that one can distinguish in the logs between Kerberos v4 clients and uses
of klog.
wow, this is special
existed forever but only when we stopped leaking packets did it become a problem
anyway, don't free packets and forget to reduce the number of packets in play
Remove generated files from CVS.
====================
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.
====================
Some initial obvious cleanup. Removed all the sections on Digital UNIX,
changed IBM AFS to OpenAFS throughout, and reformatted and cleaned up the
front matter and some of the first few pages.
Add some comments to the makefile, set up dependencies to build the index
automatically, remove a bunch of unnecessary @-signs in front of commands,
and add a clean target.
Neale Ferguson contributed the assembler.
The false illusion of security some people want to play under is usually good for wasting a few hours; it was here. making the sys_call_table read nly for real of course fixes it, let's just hope keyrings come along before then on such platforms.
The old dirty buffer synchronization algorithm had a buf_IncrSyncer
thread walking the all buffer list periodically searching for dirty
buffers to write to the file server. This had several negative
results. The alogirithm ate up ever increasing amounts of CPU time
even when AFS is idle as the size of the cache increases. Also,
buffers were written to the file server in an order based upon the
original buffer allocation which has nothing to do with the order
in which the buffers became dirty.
The new algorithm maintains a dirty buffer list. Items are added
when the buffer is originally marked dirty. A buffer is only
removed from the list by the buf_IncrSyncer when the buffer is no
longer dirty. If the list is empty the thread goes back to thread
immediately without additional processing requirements.
Unlike previous versions of the OS, Vista performs a shutdown on
the Microsoft Loopback adapter just like it would on a real adapter.
This causes the smb_Listener threads to trigger a panic during a
suspend/hibernate power event.
The fix is to unbind from the network adapters in response to a
suspend/hibernate power event and then rebind to the adapters
when a resume power event is received. Note that the resume events
are not reliably delivered so it is possible the afs service will
not be accessible. However, this is the best we can do.
Be more liberal when parsing ThisCell. Accept and ignore leading and
trailing whitespace and anything after the first whitespace character on
the first line. Return an error for a read error or for an empty cell
name.
Rather than setting AFS_PARAM_COMMON as part of the sysname guessing code,
guess the sysname first and then sent AFS_PARAM_COMMON in a separate case
statement based on the results. Otherwise, it isn't set when
--with-afs-sysname is used explicitly, resulting in a broken Linux build.
Path canonicalization for commands such as bos getlog was only applied for
absolute paths; relative paths were still constructed relative to the
canonical directory. Modify the path canonicalization routines to also
canonicalize the base directory for relative paths.