Jeffrey Altman [Sat, 10 Nov 2012 00:15:25 +0000]
Windows: Version 1.7.1900.0
Change-Id: I125e35dcedc6460b120c7377647d8ae09dd52215
Reviewed-on: http://gerrit.openafs.org/8425
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sat, 10 Nov 2012 00:14:39 +0000]
Windows: 1.7.1900 ChangeLog
Change-Id: Ib4b1f91fd66a3a836cac9d15df6757bb524f6c8a
Reviewed-on: http://gerrit.openafs.org/8424
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sat, 11 Feb 2012 22:31:00 +0000]
Windows: default cell grand.central.org
Change the default cell from openafs.org to grand.central.org
since there is no openafs.org cell. All openafs software is
distributed from the grand.central.org cell.
(cherry picked from commit
0d515bb54a957c321cc152644a793c98b1b05c48)
Change-Id: Iadae4d6015e8e54afe9a47ebd6882bf2e664f245
Reviewed-on: http://gerrit.openafs.org/6701
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 8 Nov 2012 18:26:36 +0000]
Windows: use hKUserMap to read afslogon username
hkTemp is not the correct registry handle. Use hkUserMap
Reviewed-on: http://gerrit.openafs.org/8412
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
15670c1ae95182d98c6e874672ef7138e1949dfe)
Change-Id: I4aaadf784bf3bc98f8c4594e161a68c8094a3823
Reviewed-on: http://gerrit.openafs.org/8419
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 8 Nov 2012 17:20:30 +0000]
Windows: Prevent SMB unitialized variable access
smb_ReceiveNTTranCreate would make use of 'fidp' before it was
allocated.
Reviewed-on: http://gerrit.openafs.org/8411
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
6f79eb36593a2b20e712cf7e828e987e12f8e99f)
Change-Id: I94de9fed9ae08118b7f818445b7d98a175bc4056
Reviewed-on: http://gerrit.openafs.org/8418
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 8 Nov 2012 16:29:20 +0000]
Windows: Treat invalid AFSFetchStatus as VBUSY
Modify cm_Analyze() to accept an AFSFetchStatus parameter which
when set is verified for validity. If the status info is invalid,
then consider the response equivalent to VBUSY and attempt to
query an alternate file server (if any.) Log the invalid status
info to the Windows Application Event Log as a Warning.
When cm_Analyze() is processing the response of an RPC that returns
multiple AFSFetchStatus structures, pass in the one that corresponds
with the source object.
Reviewed-on: http://gerrit.openafs.org/8404
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
c01e552b857d0a472c79f60704906936cbb2eb19)
Change-Id: Iac26228f91760bd7bb7c8cd4c9d0e9209c3d3d10
Reviewed-on: http://gerrit.openafs.org/8417
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 8 Nov 2012 15:39:43 +0000]
Windows: cm_IsStatusValid
Break out validity checking for AFSFetchStatus responses into
a new function.
Reviewed-on: http://gerrit.openafs.org/8403
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
d87a9adeb66f405441be35b12048012a527c122d)
Change-Id: I75fc13abd5eb8f63fef7f0ead9c60a5594b9ead1
Reviewed-on: http://gerrit.openafs.org/8416
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 8 Nov 2012 05:24:14 +0000]
Windows: cm_MergeStatus now returns an error code
cm_MergeStatus() can fail if the AFSFetchStatus InterfaceVersion
field does not have the value 0x1 as that is the only version that
is defined by the protocol. The return code will be CM_ERROR_INVAL.
cm_MergeStatus() returns 0 on success.
Update all of the call sites.
Reviewed-on: http://gerrit.openafs.org/8402
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
45f0a9ba7f139749a969e73362194b380988116d)
Change-Id: I392e01b34333cc3e5ad6767b6b8c18ecc699709e
Reviewed-on: http://gerrit.openafs.org/8415
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 8 Nov 2012 20:48:18 +0000]
NetIdMgr: Krb4 is optional
32-bit builds should not require the krb4 library.
Change-Id: Ie8fc92360843b073e3a91c9ae68e4417f579f22b
Reviewed-on: http://gerrit.openafs.org/8414
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 8 Nov 2012 20:19:33 +0000]
Windows: Make krb4v32.dll and krb524.dll optional
Permit afskfw.dll to be built with USE_KRB4 and USE_KRB524 without
the requisite DLLs being available on the target machine.
Change-Id: I2f83994123de9c3ae94b409dcde5a133fb256476
Reviewed-on: http://gerrit.openafs.org/8413
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 7 Nov 2012 21:34:23 +0000]
Windows: RDR_CleanupFileEntry protect lock release
Prevent lock release of scp->rw when not held.
Reviewed-on: http://gerrit.openafs.org/8372
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
30ee8b645ea28b8f4f4794b2620fef723d03de9d)
Change-Id: I7519462daf8db02798224edda40c20ad7c87d867
Reviewed-on: http://gerrit.openafs.org/8400
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 6 Nov 2012 11:39:39 +0000]
Windows: call MIDL_user_allocate instead of calloc
In the RPC service routines do not call calloc() directly.
All memory will be deallocated by a call to MIDL_user_free()
so use MIDL_user_allocate() to perform the allocation.
Modify MIDL_user_allocate() to call calloc() instead of malloc()
to ensure that the memory is initialized to NUL bytes.
Reviewed-on: http://gerrit.openafs.org/8365
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
8c7846f4e1dd89db4ff3b03c558d97cd13cbb205)
Change-Id: I2689dce0ca19748d7656f7bfca5d1d119ca6b06e
Reviewed-on: http://gerrit.openafs.org/8399
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 6 Nov 2012 11:38:14 +0000]
Windows: no more _wcsdup; use wcsdup
_wcsdup is not mapped by roken.h. Use wcsdup which is.
Reviewed-on: http://gerrit.openafs.org/8364
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
40964dd39decf8b64d82090b5bb9ecac05901c07)
Change-Id: If42035172c26dd7cc496c6907b7d7556a30aa90d
Reviewed-on: http://gerrit.openafs.org/8398
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Fri, 26 Oct 2012 14:23:48 +0000]
rx: Refactor code to acknowledge a whole TX queue
We acknowledge a whole transmit queue whenever an ACKALL packet is
received, or whenever the call changes direction. As the same logic
is used in both locations, pull it out into a common helper function.
Reviewed-on: http://gerrit.openafs.org/8300
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit
96d50fc0e1d8b709a86d76318c8a1801cbff12d7)
Change-Id: I60e5b0404f5efbe6b2822aec44e5cbbad5543520
Reviewed-on: http://gerrit.openafs.org/8397
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Fri, 26 Oct 2012 13:55:02 +0000]
rx: Remove duplicate out of order ACK check
Once we've moved the congestion window, there's no going back. So
any ACK packets that attempt to move the window backwards by including
a 'firstPacket' value earlier than the current window position must
be ignored.
However, we check (and ignore) these packets twice. Once in
rxi_ReceivePacket, which only checks in the client side case, and again
in rxi_ReceiveAckPacket, which has a more complete check that runs for
both client and server connections.
Remove the identical check from rxi_ReceivePacket in a continuing effort
to clean up this bit of code.
Reviewed-on: http://gerrit.openafs.org/8299
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit
8d359e6dff5317698597e77f0a1dd5ba2bfb569a)
Change-Id: I29c72136d02a16381e33d8836f35528ba7b1f055
Reviewed-on: http://gerrit.openafs.org/8396
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Fri, 26 Oct 2012 13:52:46 +0000]
rx: Remove duplicate security layer check
rxi_FindConnection checks that the connection it returns has a
security layer matching that of the incoming packet. Don't duplicate
this check within the rxi_ReceivePacket code.
Reviewed-on: http://gerrit.openafs.org/8298
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
daeb917110f6b358d505eef50088bbb4573a6130)
Change-Id: I8bcd4b176cf0070f35108dd910382a2142a7b643
Reviewed-on: http://gerrit.openafs.org/8395
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Fri, 26 Oct 2012 13:50:51 +0000]
rx: Refactor rxi_ReceivePacket call selection
Refactor the call selection logic in rxi_ReceivePacket so that it is
a little bit easier to follow, and better optimised to the common case.
Split the current logic into a function for packets being received by
a server, and a function for packets being received by a client.
Reviewed-on: http://gerrit.openafs.org/8297
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
3c6570413c94afe4107634e9ca3f923f3cd30c21)
Change-Id: I0ac84fe47398b92a24e6c34cd4f0036e7bb27fcb
Reviewed-on: http://gerrit.openafs.org/8394
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Fri, 26 Oct 2012 11:21:41 +0000]
rx: Don't build a call to immediately abort it
If the server is over the busy threshold, then don't create a new
call structure just to be able to send an abort on that call. Instead,
use rx_SendRawAbort to send an abort packet on the appropriate channel.
Reviewed-on: http://gerrit.openafs.org/8296
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
a0ae8f514519b73ba7f7653bb78b9fc5b6e228f8)
Change-Id: Id164497112a24b1ec303754b1324b0e76e3cb653
Reviewed-on: http://gerrit.openafs.org/8393
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Thu, 25 Oct 2012 12:34:33 +0000]
rx: Remove unreachable debug statement
ReceivePacket has a dpf which is conditional on the packet having a
zero callnumber. However, just before we reach this debug statement,
we always return if the header doesn't have a call number included.
So, the debug statement can never run. Just remove it, as it's
potentially confusing.
Reviewed-on: http://gerrit.openafs.org/8295
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
0c9e55639cc02d90e9fd108572bb5ee64db3ddcc)
Change-Id: Idf15dba8889c8e0fe7e35e2b74a8e4b324e0805e
Reviewed-on: http://gerrit.openafs.org/8392
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Thu, 25 Oct 2012 10:32:03 +0000]
rx: Don't have 2 different protos for rxi_CheckCall
Use a single prototype for rxi_CheckCall in both the pthread and
lwp cases. Remove the #ifdef maze at the call sites, and take advantage
of the fact that MUTEX_EXIT reduces to an empty string in the lwp
case.
Reviewed-on: http://gerrit.openafs.org/8291
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
9358e452a90c3d87f025a54e503da2b2d062dbef)
Change-Id: I5128d720672e50dc78af7e0c9e93d6078e604485
Reviewed-on: http://gerrit.openafs.org/8391
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Thu, 25 Oct 2012 10:27:33 +0000]
rx: Don't double check conn->call
We currently have
call = conn->call[channel]
if (call) {
...
} else {
call = conn->call[channel]
if (call) {
...
}
}
As we don't drop (or acquire) any locks between the first and the
second check of call, there's no way that the result can be different
from the first time we checked. So just get rid of the uneccessary
code, and reindent the following block to match.
Reviewed-on: http://gerrit.openafs.org/8290
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
e93b6dca2f593e479499122eedef1e65452aaaac)
Change-Id: I5f3283a76945be92790baf58aafc32c501666b97
Reviewed-on: http://gerrit.openafs.org/8390
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Simon Wilkinson [Thu, 11 Oct 2012 11:34:46 +0000]
rx: Move server queue entry structure out of rx.h
Hide the server queue management structure in its own header file,
rather than exposing it globally in rx.h. This structure has always
been private - applications have no business knowing about it!
Reviewed-on: http://gerrit.openafs.org/8231
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
eca07c108cc61fc9a6da720848e1beb78833f670)
Change-Id: Iaddcbadfca19f0a9b870ac24d5f707bd04e37e81
Reviewed-on: http://gerrit.openafs.org/8389
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Tue, 11 Sep 2012 19:23:02 +0000]
rx: Skip rxi_CheckPeerDead if we are DALLY
DALLY connections don't need to be marked dead, so just skip the whole
function if we are DALLY.
Reviewed-on: http://gerrit.openafs.org/8120
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
a2877368045947ca28c29283ef03f1510d764d4d)
Change-Id: Ib0d7103a100918db038703e5e71dead663e5b964
Reviewed-on: http://gerrit.openafs.org/8388
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Tue, 11 Sep 2012 18:59:21 +0000]
LINUX: Ignore 'offender' in error queue processing
The 'offender' is who generated the error, possibly who sent us an
icmp packet (the given 'port' will be 0). What we want is the peer
that is actually unavailable, which is already in the 'addr' variable
we received from the recvmsg itself.
Reviewed-on: http://gerrit.openafs.org/8119
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
4532e96bb96ab6424c7c00327c094f9b5b307f91)
Change-Id: I9cb4302ed08f164637c3f62f7d5d19395fcd7884
Reviewed-on: http://gerrit.openafs.org/8387
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Tue, 11 Sep 2012 17:48:14 +0000]
rx: Check for peer deadness in rxi_Resend
If we need to resend something, the peer we're sending to may be dead.
Check if the peer is dead in rxi_Resend, so we don't have to wait
(possibly several seconds) for the next rxi_CheckCall.
Reviewed-on: http://gerrit.openafs.org/8118
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
083ec556af66c755c93f821146e06423e27cfba9)
Change-Id: I4085ed4a89ea7fc7509c938fe5f8e85aedbfebf8
Reviewed-on: http://gerrit.openafs.org/8386
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Mon, 10 Sep 2012 21:31:01 +0000]
rx: Process all errors received
When we receive a buffer of errors from the error queue, loop through
all of them, and do not stop at the first applicable one we find.
Reviewed-on: http://gerrit.openafs.org/8116
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit
0ac9fe184a323fef212c421b844a45838f4d6e57)
Change-Id: Ie62e4e0ad8fe98c094e937b3808baa17c23473e6
Reviewed-on: http://gerrit.openafs.org/8385
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Derrick Brashear [Tue, 16 Oct 2012 13:25:03 +0000]
linux: always define do_handlesocketerror
even if we are not handling socket errors, have a stub function
Reviewed-on: http://gerrit.openafs.org/8240
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
c172d469dde64b5dfaf762c5ad52dfe842dffb02)
Change-Id: Ied4748ba1dec38873adedf95b5b2c50c6c42f03a
Reviewed-on: http://gerrit.openafs.org/8384
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Derrick Brashear [Wed, 17 Oct 2012 22:52:41 +0000]
rx: pthread sendmsg should return success, not a bytecount
thanks to Marc Dionne for noticing the error
Reviewed-on: http://gerrit.openafs.org/8246
Tested-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
37ef85d44a3275c1f367eaa6d241cd6d602a472b)
Change-Id: I79527bc057abc586358ea8a6f9abbe5bb60096b7
Reviewed-on: http://gerrit.openafs.org/8383
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Fri, 7 Sep 2012 22:04:18 +0000]
LINUX: Allocate error queue buffer once
We call osi_HandleSocketError in a loop, so make sure we process all
of the errors. We were allocating a buffer to process the errors in
osi_HandleSocketError itself, but we can reuse the same buffer on
subsequent invocations, to reduce allocation/free pressure if we need
to call osi_HandleSocketError more than once. So, do that.
Reviewed-on: http://gerrit.openafs.org/8115
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
7c0484413d9928512b934ee92b2634444dd8ae58)
Change-Id: Ib2d261ea5572b3faf399b56c30103af8e73c607c
Reviewed-on: http://gerrit.openafs.org/8382
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Fri, 7 Sep 2012 21:58:05 +0000]
rx: Process error queue after noticing errors
If errors exist in the socket error queue, we will notice by a sendmsg
or recvmsg returning an error. If we never get an error, we don't need
to check the error queue. So, only call osi_HandleSocketError after
such an error has been returned, so we can avoid unnecessarily
checking the error queue when there are no errors.
Reviewed-on: http://gerrit.openafs.org/8114
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Simon Wilkinson <simonxwilkinson@gmail.com>
(cherry picked from commit
cddd859d2a6a05a01c971c23dba0b43eceb6b93b)
Change-Id: I3a714e61384096bc29df7c83a395d4c5bfacff17
Reviewed-on: http://gerrit.openafs.org/8381
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Wed, 1 Aug 2012 20:31:09 +0000]
LINUX: Fix error queue processing
Receiving error queues in the Linux kernel is a little different from
userspace. When we encounter a cmsg that is not CMSG_OK, we need to
break out of the loop, and not just continue, since we can keep trying
to process the same cmsg over and over. In addition, on successful
return, the msg_control buffer has been modified to point to the next
available buffer space, and msg_controllen contains how many bytes are
remaining. So, we need to adjust the msg_control and msg_controllen
values to get something more familiar.
Reviewed-on: http://gerrit.openafs.org/7927
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit
407cfd281eab375512881945999b7e13ba93936e)
Change-Id: I4ae9ed0146fa8b2b47d5894236d2148ec02d6472
Reviewed-on: http://gerrit.openafs.org/8380
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Wed, 1 Aug 2012 19:56:27 +0000]
LINUX: Avoid SO_ERROR for RXERRQ_ENV
SO_ERROR is for receiving errors from some nonblocking operations; it
has little relevance to our network operations. For Linux, use a
similar structure as userspace error detection, instead of SO_ERROR.
Reviewed-on: http://gerrit.openafs.org/7926
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit
d55df0ac8351b1518d2c3cde6e3938b98b3f21f7)
Change-Id: Iaa4a2666dacb78b114db7b419d0783aae09f5f8a
Reviewed-on: http://gerrit.openafs.org/8379
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Mon, 24 Sep 2012 18:03:34 +0000]
LINUX: Define printf/uprintf as variadic macros
Instead of defining the string 'printf' itself, make printf (and
uprintf) variadic macros. This avoids renaming printf to printk for
things like '__attribute__((format(printf,X,Y)))'.
Note that this is Linux-specific; compilers on other platforms may not
support variadic macros.
This avoids many warnings in the Linux kernel module build if we
include Linux headers after AFS headers.
Reviewed-on: http://gerrit.openafs.org/8150
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit
179096d9b2c461f02236bbf670b46597ff2d4c3c)
Change-Id: Ie8254f2ad3cdd3f51fd3e0bfa9e249fc5ad56fbe
Reviewed-on: http://gerrit.openafs.org/8378
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 2 Nov 2012 17:50:44 +0000]
Windows: 1.7.1800.0 Version Number
Change-Id: I106b298f7ebbec5a470b893f5bcc74142ca786b5
Reviewed-on: http://gerrit.openafs.org/8361
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 2 Nov 2012 17:48:58 +0000]
Windows: 1.7.1800 ChangeLog
Change-Id: If9f01bec9ede11b7ea02436096de44a7aea058b7
Reviewed-on: http://gerrit.openafs.org/8360
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 1 Nov 2012 00:59:30 +0000]
Windows: Use MountRoot for Absolute Symlinks
Replace the absolute symlink processing in AFSLocateName().
Implement AFSIsAbsoluteAFSName() to test whether or not the
path is in fact an absolute /afs path by comparing the input
string to the registry MountRoot value which specifies the
case sensitive root path for all absolute symlinks stored
in the AFS cell.
If a symlink target path begins with a directory separator
and is not an absolute afs path name, return an error.
Construct the substitution string using the target path
without the MountRoot prefix.
Add functionality to AFSRedir.sys to read the MountRoot
from the registry and pass it on to AFSRedirLib.sys.
Reviewed-on: http://gerrit.openafs.org/8353
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
ba718cba9285fc9f663b0fd15524bc5474cca893)
Change-Id: I374885151f7186c509927a16fde0fcb493340881
Reviewed-on: http://gerrit.openafs.org/8359
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 31 Oct 2012 16:04:50 +0000]
Windows: cm_ConnByServer increment under lock
Incrementing the cm_conn.refCount must be performed while holding
the cm_connLock in order to prevent cm_GCConnections() from
seeing an in-use object as having a zero count.
Reviewed-on: http://gerrit.openafs.org/8347
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
6580d64b5d8ef0ccce71b72783b33c9e6f75b9e8)
Change-Id: I649d8421733eb600c99ac9bab7930f9e96a878b2
Reviewed-on: http://gerrit.openafs.org/8352
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 31 Oct 2012 13:53:57 +0000]
Windows: cm_FindVolumeByName refactoring
The cm_volume allocation within cm_FindVolumeByName() was racy.
Given how locks were obtained and dropped it was possible for two
threads to both determine that a cm_volume_t object needed to be
allocated. It might even have been possible for two threads to
attempt to allocate the same object.
This refactoring ensures that if a volume cannot be found under
a read lock that a second search is performed under the write lock
in case the object had in fact been allocated during the transition.
Once it is determined that an allocation is required, the cm_volumeLock
is not dropped until the object has been built and inserted into the
name hash table. This ensures that two threads cannot attempt to
allocate a cm_volume object for the same volume group.
InterlockedIncrement is used to manage the cm_data volume count.
Reviewed-on: http://gerrit.openafs.org/8346
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
b0283d5f17aafecf258479d6691682af3baaa0fd)
Change-Id: Id007305b27bde907b1cebee7fdd57d985c968fd8
Reviewed-on: http://gerrit.openafs.org/8351
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 31 Oct 2012 13:52:23 +0000]
Windows: use cm_GetVolume / cm_PutVolume
Instead of locally incrementing and decrementing the cm_volume
refCount field use cm_GetVolume and cm_PutVolume. Doing so makes
it easier to see if there is an imbalance.
Reviewed-on: http://gerrit.openafs.org/8345
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
d914034d4c5fd48fb89b1380da24984a520bae33)
Change-Id: I2820461c66d4f73de7723fb98e4f4c4a5f632812
Reviewed-on: http://gerrit.openafs.org/8350
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 31 Oct 2012 13:50:34 +0000]
Windows: Interlocked ops for cell and scache allocation
Replace foo++ with InterlockedIncrement for cm_data cell and scache
counters which are used for allocating objects.
Reviewed-on: http://gerrit.openafs.org/8344
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
2b798792fb56c5feda8e68dd433c82f43b1698aa)
Change-Id: I3f27046d59882ba3ccfae8729b2fecaac7c2a1d1
Reviewed-on: http://gerrit.openafs.org/8349
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 31 Oct 2012 01:54:20 +0000]
Windows: Do not flush dirty bufs to deleted FID
If the FID is known to have been deleted, drop all dirty data
returned from the redirector on the floor.
Reviewed-on: http://gerrit.openafs.org/8343
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
aa3579b26503f42de50e7c58c56937a7fbf4d45f)
Change-Id: I2ea9faf6954556de174848a965ef95830d605606
Reviewed-on: http://gerrit.openafs.org/8348
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 29 Oct 2012 16:59:14 +0000]
Windows: Set Server Prefs recalc immediately
When processing the set server preferences pioctl call cm_RankServer()
to update the server preference value reported by "getserverprefs"
in addition to cm_ChangeRankVolume() or cm_ChangeRankCellVLServer().
Reviewed-on: http://gerrit.openafs.org/8328
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
7e8278e1447328bc57396803a1651cbb497198d0)
Change-Id: I61ba7281debf0ffaecc6cd600e585e7bbbc0f115
Reviewed-on: http://gerrit.openafs.org/8331
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 29 Oct 2012 14:33:18 +0000]
Windows: mark server reference offline for VOFFLINE
cm_Analyze() was not marking the cm_ServerRef_t reference to
a volume instance as srv_offline in response to a VOFFLINE error.
As a result the same volume instance is tried again and again.
Reviewed-on: http://gerrit.openafs.org/8326
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
e59cf940ce1cb2ed72ccf05ce39f73019547d9b1)
Change-Id: I546f607d964b8205de3bdf1510896b4140072242
Reviewed-on: http://gerrit.openafs.org/8330
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 29 Oct 2012 13:19:13 +0000]
Revert "Windows: Media Protected if create on RO volume"
This reverts commit
f3f282265a3d9e3c968fd06793e6d1a91337f443.
Returning STATUS_MEDIA_WRITE_PROTECTED in preference to
STATUS_OBJECT_NAME_COLLISION when the file results in silent
failures by some applications (ie, Firefox.exe) when the
first directory in the path below the share name is the
root of a .readonly volume.
FIXES 131416
Reviewed-on: http://gerrit.openafs.org/8325
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
c7061310b7865c635c382490703ff951c2f9af3f)
Change-Id: I5b26ab98216d8039abdb369dc40633b4dca0d6dc
Reviewed-on: http://gerrit.openafs.org/8329
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sat, 6 Oct 2012 21:34:52 +0000]
Windows: Makefile dependencies
Permit "afsrdr" and "extra" to be built without the rest of
the tree by making them depend on "config".
Reviewed-on: http://gerrit.openafs.org/8321
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
c584b68213aef29f9df7fc104b584e8559b7d4fe)
Change-Id: I7715afabfbfecd27117724bf4a35c5499675379a
Reviewed-on: http://gerrit.openafs.org/8324
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 6 Aug 2012 16:19:26 +0000]
Windows: Send all \\AFS\PIPE to afsd_service
Anytime there is a pipe service request, forward it to the
afsd_service.exe and permit the service to manage the request.
The prior implementation resulted in STATUS_FILE_NOT_FOUND errors
being delivered when an unexpected service was requested.
Reviewed-on: http://gerrit.openafs.org/8320
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
e9e5978a4dc3738708f23d15a3e91cee1f34a5f2)
Change-Id: If52ee90d9ab2e7a1e60bd46ffb3e98ba967366f3
Reviewed-on: http://gerrit.openafs.org/8323
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 26 Sep 2012 05:51:37 +0000]
Windows: Treat EIO from file server as fatal error
Return STATUS_DISK_OPERATION_FAILURE to caller when a file
server fails an RPC with EIO. Previous behavior was to retry
the request indefinitely.
Reviewed-on: http://gerrit.openafs.org/8319
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
f7148418961e3083b895c0875b15060213921e4d)
Change-Id: I0dcf27c11fd486af04149ee9f41241c86dab23cb
Reviewed-on: http://gerrit.openafs.org/8322
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 19 Oct 2012 15:26:21 +0000]
Windows: ObjectInfo RefCount 0 <-> 1 transitions
When the reference count transitions from 0 <-> 1 ensure that the
ObjectInfoLock is held exclusive to prevent the current thread from
altering the state while another thread is holding the ObjectInfoLock
shared in order to conditionally perform an action based upon
the the reference count being zero.
Reviewed-on: http://gerrit.openafs.org/8257
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
5857dd36b2b129fd2cf187650723b896c24f5177)
Change-Id: Iaeade8593bbdfaa1aa8f26cb369ec2dbdb338924
Reviewed-on: http://gerrit.openafs.org/8318
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 25 Oct 2012 22:42:11 +0000]
Windows: PrimaryVolumeWorker ObjectInfoLock deadlock
Patchset
eaad522651a81f20eac4966a55a731e0e59e39dd inadvertently
introduced a deadlock with invalidation requests from the service.
It is not safe to hold the ObjectInfoLock resource across calls
to AFSCleanupFcb(). Instead of holding the lock obtain a reference
to the ObjectInformationCB.
Reviewed-on: http://gerrit.openafs.org/8308
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
fd7a16d5b09d963ded1fb4314632e9fb5d513b29)
Change-Id: Ie8097257fba34b9703115d71f45899de82595f2f
Reviewed-on: http://gerrit.openafs.org/8317
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 25 Oct 2012 18:33:29 +0000]
Windows: AFSCleanup re-organization
Reorganize the activities of the AFSCleanup() for File FCBs
so that the Fcb Resource can be dropped prior to issuing the
cleanup request to the cache manager. The cache manager can
block for a long period of time while flushing data and holding
the Fcb resource blocks all subsequent CreateFile requests.
Reviewed-on: http://gerrit.openafs.org/8307
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
08d446424873c2d46b00b6d4604766051e5ba837)
Change-Id: I9668855b68bcab18d22ced414e0a1dbc391090b9
Reviewed-on: http://gerrit.openafs.org/8316
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 25 Oct 2012 18:31:14 +0000]
Windows: AFSCleanup Flush Data decision
AFSCleanup() should instruct the cache manager to flush dirty
data when the Context Control Block indicates that the handle
being closed was opened for writing and was granted appropriate
permissions. The decision to flush should not be dependent on
the open handle count because the last handle might belong to
an authentication group that does not have write permission.
Reviewed-on: http://gerrit.openafs.org/8306
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
3a996b58dea74be4748446c63b7d3c4c631b1881)
Change-Id: I86ec89f3feb3e9e160cc53c2a5dda15eb29772f4
Reviewed-on: http://gerrit.openafs.org/8315
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 25 Oct 2012 18:12:42 +0000]
Windows: buf_DirtyBuffersExist return value
buf_DirtyBuffersExist() should return 'found' not '0'.
Reviewed-on: http://gerrit.openafs.org/8305
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
ea2f25372cc09c958780990f6cb8d064c7e7a0e3)
Change-Id: I1f5485917a78d588ec31034720ad73e74f9a2f7c
Reviewed-on: http://gerrit.openafs.org/8314
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 23 Oct 2012 00:40:21 +0000]
Windows: AFSMarkDirty() require ExtentsResource held
Instead of dynamically testing if the ExtentsResource is held
and if not acquire it within AFSMarkDirty(), simply require that
it be held. AFSMarkDirty() is only called from one location.
Reviewed-on: http://gerrit.openafs.org/8304
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
c33c678760e254e67037d62e38f6eedc139eaf6f)
Change-Id: Id36b5bcf97fbb1db2aea79a49be8bd590328c778
Reviewed-on: http://gerrit.openafs.org/8313
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 23 Oct 2012 00:34:59 +0000]
Windows: AFSFlushExtents QueuedFlushCount leak
The FCB QueuedFlushCount was decremented in all code paths
but only incremented if the AuthGroup acquisition succeeded.
Increment the counter before the AuthGroup checks.
Reviewed-on: http://gerrit.openafs.org/8303
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
3c57bab34ee74b4951cf637537ff73d86986fd3e)
Change-Id: I8035967a4c31a4ac848e9f6ec8a8be6163450d4e
Reviewed-on: http://gerrit.openafs.org/8312
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 23 Oct 2012 00:29:47 +0000]
Windows: RDRFunction remove DebugBreak
DebugBreak hard coded into the source tree makes debugging
other unrelated issues difficult if the code path being executed
includes them. Remove them.
Reviewed-on: http://gerrit.openafs.org/8302
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
651cceabc3e5f939554e50437b9ed3181b6f7b1f)
Change-Id: Icdf728cb1572e8c027be95e2efc3255aac435ac1
Reviewed-on: http://gerrit.openafs.org/8311
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 19 Oct 2012 13:33:18 +0000]
Windows: Promote DELETED from DirEntry to ObjInfo
On deletion of the DirEntry in AFSDeleteDirEntry() set the
AFS_OBJECT_FLAGS_DELETED flag on the ObjectInformation object
if and only if the AFS_DIR_ENTRY_DELETED flag was set in the
DirEntry. Setting the AFS_OBJECT_FLAGS_DELETED should not
be conditional on the ObjectInformatION ReferenceCount being
zero.
Remove the test and set of AFS_OBJECT_FLAGS_DELETED from
AFSClose() because that operation will already have been
performed in the call to AFSDeleteDirEntry() if necessary.
Reviewed-on: http://gerrit.openafs.org/8256
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
f869b6f8c11f859fad6e3649faf7e724e0bd1d6d)
Change-Id: I9e93ca54ed8cd9a610b1f84d1a46887f9e90c5ea
Reviewed-on: http://gerrit.openafs.org/8310
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 16 Oct 2012 13:36:56 +0000]
Windows: Remove 'bAllocatedFcb' from AFSCreate.cpp
All functions now call AFSInitFcb() and the ObjectInfo->Fcb == NULL
test is performed internally. Therefore, it is not possible for
the caller to track whether or not an Fcb was allocated. It is
irrelevant. The Fcb will be cleaned up when the ObjectInfo is
destroyed by the PrimaryVolumeWorker thread.
Reviewed-on: http://gerrit.openafs.org/8242
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
0b538f21bea758a92f2bd9f8d529e8889c4a9e63)
Change-Id: I9d2e9a336d12bed2dc9498100827300c0b253a27
Reviewed-on: http://gerrit.openafs.org/8275
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 8 Oct 2012 03:41:32 +0000]
Windows: PrimaryvolumeWorker do not pause if busy fcb
The AFSPrimaryVolumeWorkerThread should not unnecessarily block
on the FCB Resource because such blockage could be the result of
of waiiting for extents to be delivered from the service. The
AFSPrimaryVolumeWorkerThread is the primary method by which
extents are released back to the service.
AFSCleanupFcb() is modified to return STATUS_RETRY if the Fcb
resource cannot be obtained without blocking.
The AFSPrimaryVolumeWorkerThread() does not call
AFSCleanupFcb() with 'ForceFlush' parameter set to TRUE and
remembers if STATUS_RETRY is returned. If any Fcb was busy,
then the worker does not wait for the 5 second timer to fire.
Reviewed-on: http://gerrit.openafs.org/8227
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
2bfe3653e3eec99a1199392912a4136668406212)
Change-Id: I54b18ec2e4598a4128f7437949d39a5a51b5957f
Reviewed-on: http://gerrit.openafs.org/8274
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 19 Oct 2012 12:37:25 +0000]
Windows: avoid race set/clear ExtentsRequestComplete
The FCB ExtentsRequestComplete KEVENT setting, clearing
and testing was racy. Clear the event before issuing the
request to the service and if the request fails, set it in
case two threads issued requests for the same FCB in parallel
and one fails and the other succeeds.
We must ensure that a clear does not mask the event being set
prior to the request thread returning.
Reviewed-on: http://gerrit.openafs.org/8255
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
dfcb68cdc82260f614b2efed2529dc7c559d1933)
Change-Id: I4de873c060a59d6311e99703af6f846cb470eaf6
Reviewed-on: http://gerrit.openafs.org/8273
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 18 Oct 2012 13:56:12 +0000]
Windows: clear pending delete upon deletion
During cleanup processing if the DELETE_PENDING flag is set
the service will be told to delete the file when the handle
count reaches 1. At that point the file will be deleted
and the DELETED flag will be set on the object info object.
The DELETE_PENDING flag was not being cleared which could
lead to confusion. This patchset clears the flag after deletion.
Reviewed-on: http://gerrit.openafs.org/8253
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
555412a03f18aff0d30401082ad2946a68bd7694)
Change-Id: Ia05d02b749420647dd401c4e13fed23b25c46f2f
Reviewed-on: http://gerrit.openafs.org/8272
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sun, 7 Oct 2012 14:23:19 +0000]
Windows: AFSInitFcb Check ObjectInfo->Fcb for NULL
Now that AFSInitFcb is called under the ObjectInfoLock, it is
once again safe to perform a test for ObjectInfo->Fcb != NULL
and return immediately if an Fcb is already assigned.
Reviewed-on: http://gerrit.openafs.org/8226
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
05fa1202fb63e32aff3c60d47286c8af232322fe)
Change-Id: Ia743b62070404fc336a511c213592256df0028f6
Reviewed-on: http://gerrit.openafs.org/8271
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sun, 7 Oct 2012 14:20:11 +0000]
Windows: Fix DV Raced Trace Message Parameters
Data Versions are logged as HighPart:LowPart not QuadPart.
Reviewed-on: http://gerrit.openafs.org/8225
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
9eb4bcfced06554d08c0f95de54f2285f48de890)
Change-Id: Ic8c687f8c6b48833f332e928adb2c65bb30bbcd1
Reviewed-on: http://gerrit.openafs.org/8270
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 5 Oct 2012 15:36:45 +0000]
Windows: Protect ObjectRefCnts with ObjectInfoLock
The ObjectInfoCB.ObjectReferenceCount is tested to determined
when it is safe to remove an FCB from the ObjectInfoCB. The
value must not be permitted to change while a removal is performed.
Protect AFSRemoveFcb() calls with exclusive holds of the
ObjectInfoCB.NonPagedInfo->ObjectInfoLock. New functions:
AFSObjectInfoIncrement()
AFSObjectInfoDecrement()
perform all increments and decrements while holding the
ObjectInfoLock in a Shared state.
Reviewed-on: http://gerrit.openafs.org/8224
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
eaad522651a81f20eac4966a55a731e0e59e39dd)
Change-Id: I168e0cd748b68781300ef0b487d54b87779ec0c2
Reviewed-on: http://gerrit.openafs.org/8269
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 3 Oct 2012 01:11:01 +0000]
Windows: AFSPrimaryVolumeWorkerThread AFSRemoveFcb
Do not call AFSRemoveFcb() on a directory entry whose Fcb
has a non-zero use count.
Reviewed-on: http://gerrit.openafs.org/8223
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
cecd99abd3837ef820d78fb15e450c8688b0f39b)
Change-Id: Ia93aaf621c53a9b917f62d873e00fb7d17177fac
Reviewed-on: http://gerrit.openafs.org/8268
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 3 Oct 2012 01:07:21 +0000]
Windows: Always AFSInitFcb and AFSRemoveFcb
Instead of comparing ObjectInfo->Fcb to NULL and conditionally
calling AFSInitFcb() or AFSRemoveFcb(), always call them and use
InterlockedExchangePointer() as the test.
Reviewed-on: http://gerrit.openafs.org/8221
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
8827be708460eb1cbd58001d3247ed7bb160ebc8)
Change-Id: Ia08f7483575d15caefdd28e031a76a26de7cca62
Reviewed-on: http://gerrit.openafs.org/8267
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sat, 6 Oct 2012 21:36:25 +0000]
Windows: AFSRequestExtentsAsync and AFSDoExtentsMapRegion
When calling AFSDoExtentsMapRegion() the FCB ExtentsResource
must be held. AFSRequestExtentsAsync() failed to hold the
ExtentsResource across the call.
Reviewed-on: http://gerrit.openafs.org/8220
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
23c920066976ac5ede41dd799c84d97ff5174c4c)
Change-Id: Iea2c0bd6dbb76d3563ef793e6145b97af50f442c
Reviewed-on: http://gerrit.openafs.org/8266
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 16 Oct 2012 13:08:37 +0000]
Windows: Remove Fcb.Specific.File.LazyWriterThread
The LazyWriterThread should not be recorded in the FCB. It is
possible for multiple lazy writes to occur on a file in parallel
in separate threads. The value is not used for anything in any
case. AFSCommonWrite() tests the LazyWriterThread value but only
if 'bMapped' is FALSE. Since 'bMapped' is always TRUE, the
comparison is never performed. Remove the test and the value.
Reviewed-on: http://gerrit.openafs.org/8241
Tested-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
f6ab5cc8bd216383b8584aa05a5516862b59ab70)
Change-Id: I9acd8eb2c019e6205f84d410eeed60aaf688d790
Reviewed-on: http://gerrit.openafs.org/8265
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sun, 14 Oct 2012 19:46:06 +0000]
Windows: Add cm_SyncOp to cm_ReadMountPoint()
Add a cm_SyncOp(CM_SCACHESYNC_FETCHDATA) call to cm_ReadMountPoint()
to prevent multiple FetchData RPCs being issued for the same
mount point at the same time.
Reviewed-on: http://gerrit.openafs.org/8235
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
fe28a0c5966ac50fa3bccf5d98db4a3532f1e4a4)
Change-Id: Id60a557cc74e76f7f8dadb76495c9ec7b12a2ace
Reviewed-on: http://gerrit.openafs.org/8264
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 3 Oct 2012 01:09:35 +0000]
Windows: AFSInitFcb assign pFcb->ObjectInformation
In AFSInitFcb() assign pFcb->ObjectInformation before the
InterlockedExchangePointer call and not afterwards. Assigning
it afterwards leaves a small race where the ObjectInformation
value will be invalid.
Reviewed-on: http://gerrit.openafs.org/8222
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
7b1115d47019a9948c574ebad7b1323a30b16ab6)
Change-Id: I9b0e4ab2ca0d59e2b5e5cf64e75859fda84b6ef2
Reviewed-on: http://gerrit.openafs.org/8263
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 17 Oct 2012 00:26:43 +0000]
Windows: OpenTargetDirectory AFSInitFcb Reparse Test
In AFSOpenTargetDirectory the test to determine if AFSInitFcb
allocated a FCB or returned an existing one (STATUS_REPARSE)
was reversed. If AFSInitFcb was called and AFSOpenTargetDirectory
eventually failed, an in use FCB would be freed.
Reviewed-on: http://gerrit.openafs.org/8244
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
7fd98901620cfb2f44f53b1d717834e39959c538)
Change-Id: I74ca5e6ab0cd28dce97faf9c4bd2c57a7c7eae2f
Reviewed-on: http://gerrit.openafs.org/8262
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 5 Oct 2012 15:40:44 +0000]
Windows: ObjectInformationCB indentation
Fix indentation within ObjectInformationCB structure
Reviewed-on: http://gerrit.openafs.org/8219
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
ae10a40c5c18a7e52fb11d95b28333e312ffffce)
Change-Id: I9eb7728f470fd31ff31737cfb5e72ed803a3090a
Reviewed-on: http://gerrit.openafs.org/8261
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sat, 6 Oct 2012 05:40:47 +0000]
Windows: Do not call buf_ClearRDRFlag unlink/rmdir
When processing unlink and remdir operations initiated by the
SMB stack do not call buf_ClearRDRFlag. The redirector upon
receiving the AFS_INVALIDATE_DELETE call will cancel outstanding
extent operations, mark the FCB deleted, and tear down any held
extents.
Reviewed-on: http://gerrit.openafs.org/8218
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
1335eefeffb70b0759015d39e6732ee075537982)
Change-Id: I0710b6fa353c0a8e60965e19cc0b1d70a2e02d2e
Reviewed-on: http://gerrit.openafs.org/8260
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sat, 6 Oct 2012 00:16:35 +0000]
Windows: Correct alloc size SetFileExtents result
AFSFileExtentCB objects not AFSSetFileExtentsCB objects.
The latter are too large. Just wastes memory.
Reviewed-on: http://gerrit.openafs.org/8217
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
816776215de17d5cf4e1f992ae27c7c1f5b5f43d)
Change-Id: Ia60753e9899261a896f5a77cfdfa7db2f4fbd7d7
Reviewed-on: http://gerrit.openafs.org/8259
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 5 Oct 2012 02:07:40 +0000]
Windows: AFS_INVALIDATE_DELETE must cancel IO
When processing an AFS_INVALIDATE_DELETE the redirector
must cancel any outstanding extent requests on the file
prior to tearing down the extents.
This code path is triggered either when VNOVNODE is received
from a file server or when an alternate cache manager interface
(SMB) unlinks the file.
Reviewed-on: http://gerrit.openafs.org/8206
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
c53220c179b06fdeb03879e8dc5e10f69bbe0a5f)
Change-Id: Idb708a2033f0335d1d1293dc3c976b5c1e5dda51
Reviewed-on: http://gerrit.openafs.org/8258
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 1 Oct 2012 16:03:49 +0000]
Windows: File Info Query Symlinks
For Symlinks, always set the Reparse Point attribute and
set the Directory attribute if the target is a directory.
Do not return the file attributes of the target.
Reviewed-on: http://gerrit.openafs.org/8171
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
338014a231235fe25116b09c1e8978db2db1dbb3)
Change-Id: I74d0ca1575624f46b9906f1dabc61ddff335db90
Reviewed-on: http://gerrit.openafs.org/8193
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 1 Oct 2012 15:04:23 +0000]
Windows: Dir Enum behavior for Symlinks / MPs
Comparisons of the behavior of cmd.exe, powershell.exe, and tcc.exe
with regards to directory enumeration show that when Symlink file
information is returned that the "reparse point" data should be
reported along with whether or not the target is a directory.
For mount points, the reparse point file information should always
be returned and the type should always be directory.
The target timestamps, file sizes, etc. should never be returned.
Reviewed-on: http://gerrit.openafs.org/8170
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
dd59f6f6114a436ae86b70cd0837e97eea18dde8)
Change-Id: Ib37d60d47a313427a289603f3c6000400d881569
Reviewed-on: http://gerrit.openafs.org/8192
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Thu, 27 Sep 2012 02:03:03 +0000]
Windows: Move afsredir process type check
The process type check in afsredir.sys was performed during the
Process Creation callback which is processed in the context of the
parent process which might not be the same type (32-bit or 64-bit)
as the process being created.
Reviewed-on: http://gerrit.openafs.org/8165
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
22d68eec6de654bdc6a8d5b005b86320a46ac8f0)
Change-Id: I4f6e8bda3cd3676d5a4c63a85d84033285b93658
Reviewed-on: http://gerrit.openafs.org/8191
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 25 Sep 2012 17:01:53 +0000]
Windows: Fix memory leak SRXAFSCB_GetCellServ
In commit
19f1e0f7cf40c3da1d49c789358bd814f7e3b3eb strdup()
was replaced by xdr_alloc() and memcpy(). Unfortunately,
the patch was wrong and the pointer to which the result of
xdr_alloc() was assigned was overwritten with zero.
Reviewed-on: http://gerrit.openafs.org/8162
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
137ea396dbbcf302bce8200e3da7d4693b464ca7)
Change-Id: Ie54f6977dd5f3a83f7d60f45d5aee983da2a9305
Reviewed-on: http://gerrit.openafs.org/8190
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 25 Sep 2012 16:59:04 +0000]
Windows: duplicate ExtentsResource hold
All callers to AFSDoExtentsMapRegion() hold the ExtentsResource
so there is no need to obtain it again within the function. Instead
add an ASSERT to confirm that the resource is held.
Reviewed-on: http://gerrit.openafs.org/8161
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
ae8527269ca091d47a1232a0469921ba7c54f65b)
Change-Id: I0e4ea681affb6af639f2043e18ca6f63f3dac3e7
Reviewed-on: http://gerrit.openafs.org/8189
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 25 Sep 2012 18:32:06 +0000]
Windows: make static RDR_ParseIoctlPath[Parent]
The RDR_ParseIoctlPath and RDR_ParseIoctlPathParent functions
are helper functions within RDRIoctl.cpp. Make them static
and remove them from the header.
Reviewed-on: http://gerrit.openafs.org/8160
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
5c348e5a9f276b45e2351e4c1adf2bafd4659484)
Change-Id: I63ff75ad572fe866181a521a3709f1049df9967e
Reviewed-on: http://gerrit.openafs.org/8188
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 25 Sep 2012 18:31:11 +0000]
Windows: remove reqp param RDR_IoctlWrite/Read
The RDR_IoctlWrite and RDR_IoctlRead functions no longer
use the cm_req_t parameter so remove it.
Reviewed-on: http://gerrit.openafs.org/8159
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
1df112db3c06b6d16a027acbfe8739410630c66e)
Change-Id: Ic79c3139d7b9fa72be911afcf17302970e604eff
Reviewed-on: http://gerrit.openafs.org/8187
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 25 Sep 2012 18:18:39 +0000]
Windows: add cm_req_t to RDR_ioctl_t
The cm_req_t structure flags store information related to
the source of the request and whether the process is WOW64 or not.
This information is required for proper pioctl processing. Add
a cm_req_t structure to the RDR_ioctl_t structure and initialize
it in RDR_SetupIoctl() which is called from RDR_PioctlOpen().
Reviewed-on: http://gerrit.openafs.org/8158
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
63ded5bc452bf6cdd10db4d9e1befb9a71fad539)
Change-Id: I0deab7d9c408c9fe429b07ba231b30ae47ae0d7b
Reviewed-on: http://gerrit.openafs.org/8186
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Tue, 25 Sep 2012 18:16:10 +0000]
Windows: Add bWow64 param to RDR_InitReq
Instead of using the pattern
RDR_InitReq(&req);
if (bWow64)
req.flags |= CM_REQ_WOW64;
add bWow64 as a parameter to RDR_InitReq().
Reviewed-on: http://gerrit.openafs.org/8157
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
ac97f8f5a6937398db7d1902ff6bab7adbc24f4a)
Change-Id: Ibde72ff4ad8cbca3e6f44d51f72458cb820d6976
Reviewed-on: http://gerrit.openafs.org/8185
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Sun, 23 Sep 2012 18:03:19 +0000]
Windows: cm_ExpandSysName for 64-bit processes
on 64-bit Windows, only 32-bit processes have the WOW64 request
type flag set. Reverse the conditional to permit proper evaluation
of the 64-bit sysname list.
Reviewed-on: http://gerrit.openafs.org/8147
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
c2e4112ffe44bc5c638a79f88eab0377ec992784)
Change-Id: I0017785bb792f6ee3aaa169e75e04a27ff0cacc2
Reviewed-on: http://gerrit.openafs.org/8184
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Marc Dionne [Sat, 22 Sep 2012 00:08:58 +0000]
bozo: fix typo in help text
Fix a typo for "interface" in the help text for bosserver.
Reviewed-on: http://gerrit.openafs.org/8144
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jason Edgecombe <jason@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
(cherry picked from commit
58c089e642198a210462b3bf508056b56667f879)
Change-Id: Id0e85ec2e5c605487c879d0e144703c2b5709380
Reviewed-on: http://gerrit.openafs.org/8183
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Thu, 30 Aug 2012 22:10:36 +0000]
rx: More afspag-specific objects
For Linux, each object in the kernel module needs to be in only one
module for KBUILD_MODNAME. For AFS_RXERRQ_ENV, we pull in some
additional headers that require KBUILD_MODNAME in rx. So, just add a
few more afspag-specific rx objects.
Reviewed-on: http://gerrit.openafs.org/8113
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Andrew Deason <adeason@sinenomine.net>
(cherry picked from commit
1046bf7904dd323e1cd1c1788870052c315ec2a3)
Change-Id: Ica8b9790a0961f0ccf49e0db82eb2e2e1f1e48e0
Reviewed-on: http://gerrit.openafs.org/8182
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Thu, 30 Aug 2012 21:36:48 +0000]
rx: Do not include linux/module.h
This isn't available in userspace; we don't need it, so just don't
include it at all.
This was introduced in
9cd98379. I had thought it fixed a build
failure, but I believe now I just made a mistake during build.
Reviewed-on: http://gerrit.openafs.org/8112
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
0e68488ec1a8420511095b389a7d820b9e115f11)
Change-Id: Id2a5ba70eba7edbc20c338450826d8c8f771f84a
Reviewed-on: http://gerrit.openafs.org/8181
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Tue, 11 Sep 2012 23:46:42 +0000]
rx: Save errno in LWP rxi_Sendmsg
Much of this code examines errno or WSAGetLastError to determine what
to do. However, some other operations between the actual sendmsg call
and code that examines errno may modify errno. So, save the value of
errno to ensure errno reflects the actual error we got from sendmsg;
this also slightly simplifies some of the logic.
Reviewed-on: http://gerrit.openafs.org/8110
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit
347908cd0031c558c266ec412aa49200ae2b3204)
Change-Id: Ic422f8f53c13e63763c7762a4609f13cf99d78bb
Reviewed-on: http://gerrit.openafs.org/8180
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Tue, 11 Sep 2012 17:56:22 +0000]
rx: Split out rxi_NetSendError
This logic is duplicated in a couple of places. Just extract it into
its own little function for easier modification.
Reviewed-on: http://gerrit.openafs.org/8109
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
27ee85123284b77004c757fec7cd6c9af3078e05)
Change-Id: I2bb0ad0d17908bdcfa8e0792c8964aca82ffae7e
Reviewed-on: http://gerrit.openafs.org/8179
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Mon, 24 Sep 2012 19:20:07 +0000]
doc: Fix Solaris 11 kernel module path
For Solaris 11, the module goes in drv, not fs.
Reviewed-on: http://gerrit.openafs.org/8152
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
(cherry picked from commit
a7278eb5620507cd70086582cf539b4024b46194)
Change-Id: Ia5265a0a55237d356a43d18e0921c88e73f91f79
Reviewed-on: http://gerrit.openafs.org/8178
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Michael Meffie [Fri, 21 Sep 2012 19:58:29 +0000]
doc: solaris x86 kernel module path
Add instructions for solaris x86 kernel module installation.
Reviewed-on: http://gerrit.openafs.org/8143
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
5ef5cf48f3d2ba52cf5ed428728215b5b5f8d0b2)
Change-Id: Id75e008695ccbfaa861ae7df8414afd1dc2b6b07
Reviewed-on: http://gerrit.openafs.org/8177
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Chas Williams (CONTRACTOR) [Sun, 23 Sep 2012 23:02:19 +0000]
doc: fix kindle builds of documentation
Use kindlegen located by the configure stage and test for
kindlegen and dbtoepub before building in all cases.
Reviewed-on: http://gerrit.openafs.org/8148
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
(cherry picked from commit
fe72b581d7c0a5285f109109ae7ed703f1d62b6f)
Change-Id: Ib7483fe0ce2813fbeeff0d001e374d7f0e0777c6
Reviewed-on: http://gerrit.openafs.org/8176
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Andrew Deason [Thu, 2 Aug 2012 19:02:09 +0000]
doc: Add quotes to bos create in DAFS QSG section
In appendix C in the QSG, we give an example 'bos create'. The given
-cmd arguments should have quotes, or they will be interpreted as
individual arguments to 'bos create'.
Reviewed-on: http://gerrit.openafs.org/7930
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Ken Dreyer <ktdreyer@ktdreyer.com>
(cherry picked from commit
112348b4a5721a2c0585669160b7ec7d1689eb30)
Change-Id: I14f1366af94232c29016d689aecc68ef19feb52d
Reviewed-on: http://gerrit.openafs.org/8175
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Ken Dreyer [Thu, 6 Sep 2012 18:24:25 +0000]
doc: fix examples of direct volume access
Fix the Unix examples to use ":volume" instead of "#volume", and add
a couple more examples.
Reviewed-on: http://gerrit.openafs.org/8052
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: Derrick Brashear <shadow@your-file-system.com>
(cherry picked from commit
ed0624c32e671f8ae391a61ff8b870ecde740216)
Change-Id: I143a1343f3f68ab8713ca59a7e230b35f00a83b5
Reviewed-on: http://gerrit.openafs.org/8174
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 15 Aug 2012 17:29:33 +0000]
Windows: 1.7.1700.0 version update
Change-Id: I4a1778aa65f40ab820b0059a8304468eab651216
Reviewed-on: http://gerrit.openafs.org/7998
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 15 Aug 2012 17:28:43 +0000]
Windows: 1.7.17 ChangeLog
Change-Id: I1c152e2b57d3f585ca63ab659072cfcf15f19841
Reviewed-on: http://gerrit.openafs.org/7997
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Wed, 15 Aug 2012 04:53:21 +0000]
Windows: disable short names on Win7 and 2008 R2
After listening to a presentation from Microsoft's file system
team and speaking with anti-virus vendors, it is not only safe
to disable ShortNames on non-boot volumes in Win7 and 2008 R2
but it is a definite win for performance, stability and security
of the system.
Reviewed-on: http://gerrit.openafs.org/7989
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
6e2dd6e65cae4157538c29fb4362da4d15406b0e)
Change-Id: Ia8d2977949855624e8c7e65a04f3e952a87868b5
Reviewed-on: http://gerrit.openafs.org/7991
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 13 Aug 2012 21:56:02 +0000]
Windows: AFSProcessUserFsRequest NULL dereference
Protect against an Irp with a NULL FsContext2 field.
These represent Irps that are not intended for our device
since they do not have an AFSCcb associated with it.
Reviewed-on: http://gerrit.openafs.org/7971
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
aaa1844b8f806513661d16c6429d4d1b890471f2)
Change-Id: If4478d92011709840e8f4a5ba8b31db0480f5c89
Reviewed-on: http://gerrit.openafs.org/7973
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Mon, 13 Aug 2012 02:51:54 +0000]
Windows: reset volume NOEXIST flag
In response to fs checkvolumes the NOEXIST flag should be reset.
It should also be reset if the volume location update fails
because of a commumicaton (or other) error with the VLDB server.
The volume's lastUpdateTime is refreshed on error.
Reviewed-on: http://gerrit.openafs.org/7969
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
165c9e7465378f26db546c5f78fc4eeca0ba094a)
Change-Id: I5f7f72221b60d8cef559fce9c469cf1640b6d168
Reviewed-on: http://gerrit.openafs.org/7972
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Jeffrey Altman [Fri, 3 Aug 2012 04:13:45 +0000]
Windows: sdk install missing headers
Reviewed-on: http://gerrit.openafs.org/7933
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit
69fd66abe7465e605c4b1460298514c3638c7864)
Change-Id: Ib8eb3232777c1b0f0ffb9c07df5764213ef0b34d
Reviewed-on: http://gerrit.openafs.org/7968
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>