Reformat the entire directory.
Add Freelance mode awareness.
Map the root.afs volume starting from Z: and work down.
(cherry picked from commit 2a9d3e91d0edd9e5afe43793bf8ced5dd6b2701a)
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.
(cherry picked from commit 432bede1e52245b6565c8970e96ee83c14e135fc)
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?
(cherry picked from commit b2601916f6b3a95d5adcaf0091232acc759870df)
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.
(cherry picked from commit 7a2d34be17d3ea1a24ab1362698de212c7d8008d)
FIXES 48959
remove synthetic event to undo timeouts of vlservers we "haven't talked to yet"
(cherry picked from commit c4adc63872d720b43d2ff99fd780046a4ba9883b)
remove the AFS Server wizard shortcut
add AFS Server dependencies (tcpip and PNP_TDI)
(cherry picked from commit a1c31b6637fe44f2a2ebd4be491b71cc4e0fa922)
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)
(cherry picked from commit a7ea1f2efd616149b2419bb394f54d4828d316b9)
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.
(cherry picked from commit a57531592bfab0b36a4d7fb58b556b848e6f75c8)
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.
(cherry picked from commit 5b56a0b8ebbdfffa46b90d45b06253c3c6fade15)
Do not link to both talocale.lib and taafsapplib.lib.
If you do, then there are duplicate functions in both the .EXE and
the TaAfsAppLib.DLL.
(cherry picked from commit 04daebb95ebc15ece05f6f42aec1a3a7e9bd1bbf)
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.
(cherry picked from commit 70c350c6d04176a9f58fa7ab00c92511f3ca039b)
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.
(cherry picked from commit f126802236bb059b8f0e804c76aef1031beb8a44)
(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
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
(cherry picked from commit 112604e9c31cba4f9605b6b53918aafa8cac77d0)
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.
(cherry picked from commit b81763506fdf29f3df66d811e2d299cc4c9acec0)
everyone else thinks ticketLen is 32 bits. contrary to what arby's says, different is not necessarily better.
(cherry picked from commit 45425b2f222d5c0a8dd56695587b6cdeba581b6a)
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.
(cherry picked from commit d253bde4574e34ee08cf326ec4c481b57c230476)
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.
(cherry picked from commit 1ed0460435ec05150526c951d1ff32dd3b5a9c39)
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.
(cherry picked from commit 769f4e49b60b15b27eb2898a5b28c2d99fc0238c)
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.
(cherry picked from commit 778e2d5f18c1d0c93a073c137bb36e56f64747ef)
Define _USE_32BIT_TIME_T since that is what tokens contain.
Use cflagsdll instead of cflagsmt to avoid multiply defined entry points
(cherry picked from commit 848d2f1caa8d196831a1fe599694fdce0018136d)
rpcndr.lib and largeint.lib are no longer used.
rpcndr.lib no longer exists in the Vista SDK.
(cherry picked from commit 4a3482f9e6b5fdac731da45cc4f4179fd5db7046)