openafs.git
11 years agoWindows: 1.7.1700.0 version update openafs-devel-1_7_17
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>

11 years agoWindows: 1.7.17 ChangeLog
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>

11 years agoWindows: disable short names on Win7 and 2008 R2
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>

11 years agoWindows: AFSProcessUserFsRequest NULL dereference
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>

11 years agoWindows: reset volume NOEXIST flag
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>

11 years agoWindows: sdk install missing headers
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>

11 years agoWindows: remove sdk sample token.c
Jeffrey Altman [Fri, 3 Aug 2012 04:12:25 +0000]
Windows: remove sdk sample token.c

The sdk sample is no longer applicable.

Reviewed-on: http://gerrit.openafs.org/7932
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 5a707645b7d14f37f3d7fd8d06685f3940631a44)

Change-Id: Ifa4f6f679a547f5be2dfb7e537157001b3a6d5cb
Reviewed-on: http://gerrit.openafs.org/7967
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: document command prompt lnk limitation
Jeffrey Altman [Fri, 10 Aug 2012 22:04:49 +0000]
Windows: document command prompt lnk limitation

Command Prompt shortcuts cannot be used when stored in AFS.

Reviewed-on: http://gerrit.openafs.org/7955
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 b10a0af8b3a88c4170403679b9c179258a225abe)

Change-Id: I3e82c64877329600501d106bb8c49b64894fed71
Reviewed-on: http://gerrit.openafs.org/7966
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Freelance Discovery configuration
Jeffrey Altman [Wed, 8 Aug 2012 20:42:47 +0000]
Windows: Freelance Discovery configuration

Add new "FreelanceDiscovery" configuration option to permit
Freelance dynroot mode to be used without the automatic discovery
of cells and generation of mount points.

Reviewed-on: http://gerrit.openafs.org/7950
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 ecb3568210777fab98c51811aecaa1d2a085bc0b)

Change-Id: Ica7c7ebe11c679ac2452edb70507937d3a661188
Reviewed-on: http://gerrit.openafs.org/7965
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: disable short names on Windows 8
Jeffrey Altman [Wed, 8 Aug 2012 17:54:48 +0000]
Windows: disable short names on Windows 8

Add "ShortNames" option to control whether 8.3 compatible short
names are generated for objects stored in AFS.   Set the default
to on for all operating systems prior to Windows 8 and Server 2012.

Reviewed-on: http://gerrit.openafs.org/7949
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 b48d45006cdfe1734935f54277c0bc27459a404e)

Change-Id: I07baa91b4b6818d58a6b44da60740683e65f4dd9
Reviewed-on: http://gerrit.openafs.org/7964
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: FileNormalizedNameInformation take one
Peter Scott [Tue, 7 Aug 2012 13:07:41 +0000]
Windows: FileNormalizedNameInformation take one

Add a response to FileNormalizedNameInformation requests.
Respond with the long file name.  As yet there is no translation
from short name to long name for full paths.

Reviewed-on: http://gerrit.openafs.org/7948
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 1d2a050e99e1feb9a5cee9956b48eb56bd9ad95d)

Change-Id: Ia7ddc4f75dfabee4727567a44f1666a307c1d9d9
Reviewed-on: http://gerrit.openafs.org/7963
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: FSCTL_SET_PURGE_FAILURE_MODE
Peter Scott [Mon, 6 Aug 2012 19:15:57 +0000]
Windows: FSCTL_SET_PURGE_FAILURE_MODE

Windows 8 adds FSCTL_SET_PURGE_FAILURE_MODE.  Failure to respond
with success prevents anti-virus filters from scanning the file
system.  For now just return success.

Reviewed-on: http://gerrit.openafs.org/7947
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 0af079f2d03d1b76bd4221cb56b27091b5635fd0)

Change-Id: Iec6275be71305d82d0d6710754b3336abcb4e2b6
Reviewed-on: http://gerrit.openafs.org/7962
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: disable short names in redirector option
Peter Scott [Mon, 6 Aug 2012 19:12:12 +0000]
Windows: disable short names in redirector option

If requested during redirector initialization, disable short
name processing.   Future versions of Windows (8, Server 2012,
and beyond) will no longer require short names.

Reviewed-on: http://gerrit.openafs.org/7946
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 831763ce6633d5377f5476651a8685f0673751de)

Change-Id: I2b9963336a5dc82028e70cf9ea8fb98bc945f0cc
Reviewed-on: http://gerrit.openafs.org/7961
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Consolidate Device Flags
Peter Scott [Mon, 6 Aug 2012 16:59:35 +0000]
Windows: Consolidate Device Flags

Move Device Flags to common/AFSRedirCommonDefines.h

Reviewed-on: http://gerrit.openafs.org/7945
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 d8e9d2f2bc0f95642836bca2d66bb09379884142)

Change-Id: I2d748c50261230506f80120ec50dc08b5a54d664
Reviewed-on: http://gerrit.openafs.org/7960
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: Process ICMP unreachable errors
Andrew Deason [Thu, 2 Aug 2012 15:58:12 +0000]
rx: Process ICMP unreachable errors

When a machine receives ICMP errors, we can detect them in
AFS_RXERRQ_ENV environments. Many of these errors indicate that a
machine is not reachable, so we are guaranteed to not get a response
from them. When we get such an error for a particular peer, mark all
relevant calls with an RX_CALL_DEAD error, since we know we won't get
a response from them. This allows some calls to dead/unreachable hosts
to fail much more quickly.

Do not immediately kill new calls, since obviously the host may have
come back up since then (or the routing/firewall/etc was fixed), but
only calls that were started before the current error was received.

Note that a call doesn't actually notice until the next rxi_CheckCall,
since directly killing each of the relevant calls would be rather
slow. So, we don't notice a dead peer immediately, though we notice
much more quickly than we used to.

Reorganize the error queue processing a little bit to make this easier
to do.

Reviewed-on: http://gerrit.openafs.org/7929
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 9cd983799e622c9acf5dd6e0b9ae3a3a75eaa8ce)

Change-Id: Ica0a79e9b23b235f9a098bdf5043508f4c6a5411
Reviewed-on: http://gerrit.openafs.org/7959
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: Create AFS_ADAPT_PMTU and AFS_RXERRQ_ENV
Andrew Deason [Wed, 1 Aug 2012 19:19:02 +0000]
rx: Create AFS_ADAPT_PMTU and AFS_RXERRQ_ENV

Currently we have the ADAPT_PMTU define, which turns on functionality
in Linux to detect PMTU-related ICMP errors for Rx. However, this is
really turning on two separate pieces of functionality: the PMTU
processing, and the processing for ICMP errors in general.

So split this out into two defines: AFS_ADAPT_PMTU, and
AFS_RXERRQ_ENV. The former is for processing PMTU discovery, and the
latter is for processing ICMP errors. Both of these are left disabled
due to issues in the error processing. Although PMTU discovery is the
only functionality which makes use of ICMP errors, this will change in
the future.

Reviewed-on: http://gerrit.openafs.org/7925
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 403f72ec7620c8c5d39d860edd7d8e775e2776e6)

Change-Id: I86a6809b9b5590208a4bed139efc6753e538ca5a
Reviewed-on: http://gerrit.openafs.org/7958
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: Formatting fixes
Andrew Deason [Wed, 1 Aug 2012 19:11:48 +0000]
rx: Formatting fixes

Some minor fixes to preprocessor indentation and other minor
formatting things in rx.c and rx_user.c.

Reviewed-on: http://gerrit.openafs.org/7923
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 3cf4c1fbad712984074a916897b77841c3e24752)

Change-Id: I248b0add753c55e8aa0b2adf06a5b29c3e132103
Reviewed-on: http://gerrit.openafs.org/7957
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: Remove ADAPT_MTU and MISCMTU
Andrew Deason [Wed, 1 Aug 2012 18:57:06 +0000]
rx: Remove ADAPT_MTU and MISCMTU

Ever since 5bcf626ddaf92e199c4b46c11ad276013a47db52, ADAPT_MTU has
been unconditionally defined. MISCMTU has always been unconditionally
defined, and not used anywhere. Remove both of these, assuming they
are always defined.

Note that ADAPT_MTU != ADAPT_PMTU.

Reviewed-on: http://gerrit.openafs.org/7922
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit a3759e0af8717f478a32420b8c8d125fae15cd25)

Change-Id: I08ec5d3845bfb021b479105ec218c503d04dd1a0
Reviewed-on: http://gerrit.openafs.org/7956
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: 1.7.1600 (aka 1.7.16) openafs-devel-1_7_16
Jeffrey Altman [Mon, 30 Jul 2012 23:02:55 +0000]
Windows: 1.7.1600 (aka 1.7.16)

Change-Id: Ia02778bc1f79c480ea0b0a66f6f1b87f16689193
Reviewed-on: http://gerrit.openafs.org/7910
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: 1.7.1600 ChangeLog
Jeffrey Altman [Mon, 30 Jul 2012 23:01:13 +0000]
Windows: 1.7.1600 ChangeLog

Change-Id: Iff5c4044a2f383fa24850d81088f064f01050b8f
Reviewed-on: http://gerrit.openafs.org/7909
Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Rename cm_btree struct data
Simon Wilkinson [Sun, 29 Jul 2012 19:14:11 +0000]
Windows: Rename cm_btree struct data

Rename the "struct data" in cm_btree.h to something less generic in
order to avoid conflicts with other code.

Reviewed-on: http://gerrit.openafs.org/7898
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit 8c01141ccaa538b182ee79ec2d8ed5ec12b58f11)

Change-Id: Iff8345e643c0d8d0608c9da7ef31c3cd6b5ccdf8
Reviewed-on: http://gerrit.openafs.org/7908
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agodoc: Windows Release Notes Integrated Logon
Jeffrey Altman [Mon, 30 Jul 2012 19:19:57 +0000]
doc: Windows Release Notes Integrated Logon

Expand on support for integrated logon details.   Explain the
new capabilities for per-user configuration and name mapping.

Reviewed-on: http://gerrit.openafs.org/7905
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 070e90a92175eb91b3709598859fabb0c843d0a9)

Change-Id: I948b6b644687f4d8054d7f3f42ea2184919d7ff3
Reviewed-on: http://gerrit.openafs.org/7907
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agodoc: Remove USA vs International from AdminGuide
Jeffrey Altman [Mon, 30 Jul 2012 04:43:01 +0000]
doc: Remove USA vs International from AdminGuide

OpenAFS does not have separate distributions for the United States
and the rest of the world.  Nor are there any restrictions on the
capabilities of the Update Server.

Reviewed-on: http://gerrit.openafs.org/7902
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit da9f42d044725ae128feffcfbeaab67b31aaab44)

Change-Id: I98249c3ebb84ae4f4a73a502b0511d46dad8c849
Reviewed-on: http://gerrit.openafs.org/7906
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

11 years agorx: protect against ACKs with serial as prevPacket
Jeffrey Altman [Mon, 16 Jul 2012 21:29:54 +0000]
rx: protect against ACKs with serial as prevPacket

patchset 4e71409fe1305cde4b9b341247ba658d8d24f4d0 introduced a
check in rxi_ReceiveAckPacket for out of order ack packets which
relied upon the value of the previousPacket field.  Unfortunately,
some versions of RX store the previous packet's serial number in
the field instead of previous packet's sequence number.  Modify
the check to only discard out of order ACKs if the previousPacket
sequence number is within the valid window.

Reviewed-on: http://gerrit.openafs.org/7785
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 e02fd4d358f20bcf001f0486afe1750d4013dea3)

Change-Id: I66cb544ff1e1b204fbd0be30b6d9813276d85e50
Reviewed-on: http://gerrit.openafs.org/7889
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: better rxi_FindRpcStat check for end of queue
Jeffrey Altman [Thu, 26 Jul 2012 22:35:48 +0000]
rx: better rxi_FindRpcStat check for end of queue

patchset 1f0cf8b2b4bb6e36d8d82323a15ced72d91db0ec tested for
an empty queue but what is really required is a test for end of
queue after the queue_Scan().  If the queue_Scan() completes
at the end of the queue, in other words, pointing at the list
head, then return NULL because no match was found.

Reviewed-on: http://gerrit.openafs.org/7886
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 300dd717fa57df77175807cf7cf6be36cb1f9fef)

Change-Id: Icc492c329314a359bff7396c278173a855490ae9
Reviewed-on: http://gerrit.openafs.org/7888
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: protect against invalid params in rx_Copy*RPCStats
Jeffrey Altman [Wed, 25 Jul 2012 05:55:27 +0000]
rx: protect against invalid params in rx_Copy*RPCStats

Protect against:

  . rxi_Alloc() failure

Reviewed-on: http://gerrit.openafs.org/7873
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit ee2b9c2d3ee22dfbc8fd2eb2cc470ae853d4e19a)

Change-Id: Iaf8e9f5d07508e97c71db7b6bb9695d82ab50684
Reviewed-on: http://gerrit.openafs.org/7887
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: NPAddConnection3 debugging
Jeffrey Altman [Tue, 24 Jul 2012 17:56:02 +0000]
Windows: NPAddConnection3 debugging

Define Add3FlagsToString() and use it when generating debug
output from NPAddConnection3().

Reviewed-on: http://gerrit.openafs.org/7860
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 5f60992bfe17b74526bf7d26c5e0df2a2d1c4833)

Change-Id: I83d4a31d5ed2d676cdfdcb9dd375a5ff893a264f
Reviewed-on: http://gerrit.openafs.org/7867
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Correct exceptions in AFSRDFSProvider
Jeffrey Altman [Tue, 24 Jul 2012 17:53:49 +0000]
Windows: Correct exceptions in AFSRDFSProvider

Correct two errors in the generation of debug strings that
were triggering invalid memory access exceptions.

Reviewed-on: http://gerrit.openafs.org/7859
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 16b671cf3bddfc1c8cd9f760f99320ac21e583ac)

Change-Id: I6734cd1181912e9948e1fbdd3a9608457656c4a4
Reviewed-on: http://gerrit.openafs.org/7866
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: No VLDB server blocking probes
Jeffrey Altman [Mon, 2 Jul 2012 02:31:04 +0000]
Windows: No VLDB server blocking probes

Now that we have background probes, use them for VLDB server probes.

Reviewed-on: http://gerrit.openafs.org/7854
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 8ff703fcbb93399f12fb3210b729f82fb43f0ed1)

Change-Id: I2722efef6a2ab304f2301b689f68bc40db8856d6
Reviewed-on: http://gerrit.openafs.org/7857
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: NOPROBE means probe in background thread
Jeffrey Altman [Mon, 2 Jul 2012 02:27:13 +0000]
Windows: NOPROBE means probe in background thread

It is important that down servers be detected as soon as possible.
When it is not possible to perform a blocking probe, perform a
probe in a backgrond thread.

Reviewed-on: http://gerrit.openafs.org/7853
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit ceeb0474578914a64cc938e52533e6c7911396b2)

Change-Id: Ibb8eca39c445ff10bd580785618b059796c43bad
Reviewed-on: http://gerrit.openafs.org/7856
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: get rid of _strdup and use rk_strdup
Jeffrey Altman [Sun, 22 Jul 2012 05:19:57 +0000]
Windows: get rid of _strdup and use rk_strdup

Do not use the _strdup() C RTL function.  Use strdup() so that
rk_strdup() roken replacement can be used.

Reviewed-on: http://gerrit.openafs.org/7848
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 736e0dbeec54e19801e96ba93d471bd5a995f4f3)

Change-Id: I6249d21cd28c7d22292d5f2d2d740119b712d728
Reviewed-on: http://gerrit.openafs.org/7851
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoroken: rk_strdup rk_wcsdup exports
Jeffrey Altman [Fri, 20 Jul 2012 14:19:07 +0000]
roken: rk_strdup rk_wcsdup exports

Reviewed-on: http://gerrit.openafs.org/7847
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 907dbac89cfde3d3663c14fa17ca5ac9ced5a846)

Change-Id: Ia7b559032277a56cc3497165fa4d3493eb952009
Reviewed-on: http://gerrit.openafs.org/7850
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoImport of code from heimdal
Heimdal Developers [Mon, 23 Jul 2012 16:27:56 +0000]
Import of code from heimdal

This commit updates the code imported from heimdal to
b8a53329fc8bf2fe8c4f4058512f828d7654e3f8 (switch-from-svn-to-git-3003-gb8a5332)

Upstream changes are:

Jeffrey Altman (2):
      Windows: rk_strdup allocator
      Windows: rk_wcsdup allocator

Nicolas Williams (1):
      Fix bug in _krb5_expand_path_tokensv()

Reviewed-on: http://gerrit.openafs.org/7842
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit cabfe32c335002d2cfc77481c33d091cc7fd0dda)

Change-Id: I4cd8514ae0b0d5db73fe830cd57fd43f1e29d4a8
Reviewed-on: http://gerrit.openafs.org/7849
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoptserver: Make ptclient build again
Simon Wilkinson [Wed, 18 Jul 2012 09:22:07 +0000]
ptserver: Make ptclient build again

Make the ptclient utility build again, and add it to the ptserver
Makefile so that it is built by default and, hopefully, won't
bitrot again.

Reviewed-on: http://gerrit.openafs.org/7841
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 5dce817d40bc69684451e88fe8a0f1078f1f3880)

Change-Id: If9faa3d004b5b89289c140a2e242a97df949ed06
Reviewed-on: http://gerrit.openafs.org/7846
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoauth: Fix GetTokenEx with NULL cellName
Simon Wilkinson [Mon, 16 Jul 2012 19:09:04 +0000]
auth: Fix GetTokenEx with NULL cellName

If GetTokenEx is called with a NULL cellName, it means use the
local cell. To do this with the legacy interface, a 0 length string
must be used for the cell instance of the ktc_principal passed to
GetToken. Fix this so that we do so, rather than attempting to
strcpy(..., NULL) which never ends well.

Caught by clang-analyzer

Reviewed-on: http://gerrit.openafs.org/7840
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 0eca3c1822683ccf1b559eb8e455688c5bdc1fc9)

Change-Id: Iada3afa508588f17bfad299774cc4fa01ba2e570
Reviewed-on: http://gerrit.openafs.org/7845
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: rxi_FindRpcStat must test for empty queue
Jeffrey Altman [Mon, 23 Jul 2012 00:40:41 +0000]
rx: rxi_FindRpcStat must test for empty queue

When queue_Scan is executed on an empty queue the queue element
variable, in this case 'rpc_stat' is the queue head, _RXQ(q),
and not NULL.  Callers of rxi_FindRpcStat() expect NULL on failure
to find or create an rx_interface_stat object.  Correct the behavior
by testing for an empty queue and return NULL immediately if the
queue is empty and the caller is not requesting creation.

Reviewed-on: http://gerrit.openafs.org/7835
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 1f0cf8b2b4bb6e36d8d82323a15ced72d91db0ec)

Change-Id: I71ad98b943e08804aa15672cdf428a501871923b
Reviewed-on: http://gerrit.openafs.org/7844
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_UpdateVolumeLocation volp locked
Jeffrey Altman [Mon, 23 Jul 2012 05:38:03 +0000]
Windows: cm_UpdateVolumeLocation volp locked

When calling cm_UpdateVolumeLocation the volp->mx must be held.
cm_Analyze() did not obtain the mutex as required.

Reviewed-on: http://gerrit.openafs.org/7839
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 748a3e29b624d10e90af43cb0dc65a4f96c0310e)

Change-Id: I389508d60d9cfb21eb21118c1da646d5ba644c92
Reviewed-on: http://gerrit.openafs.org/7843
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Recompute server rank periodically
Jeffrey Altman [Mon, 2 Jul 2012 14:26:05 +0000]
Windows: Recompute server rank periodically

After VL_ProbeServer and RXAFS_Getcapabilities RPCs call
cm_RankServer() to recompute the server ranks based upon the
updated peer statistics.

Reviewed-on: http://gerrit.openafs.org/7827
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 30e26c07d42d8e8208c51719bc823e387d5919ee)

Change-Id: I2b9e0eb02a53771d1b04b2cb1dbf3b25c9be7a1f
Reviewed-on: http://gerrit.openafs.org/7834
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Clear peer RPC stats on IP addr change
Jeffrey Altman [Fri, 20 Jul 2012 06:57:35 +0000]
Windows: Clear peer RPC stats on IP addr change

When an IP address change has been detected, clear the peer
RPC statistics used for server ranking.

Reviewed-on: http://gerrit.openafs.org/7826
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit a3e2bd0d0183fab913264b04c6772f000367cb73)

Change-Id: Ib6db0a7325ca489b7b89e528c2c6169b6104739e
Reviewed-on: http://gerrit.openafs.org/7833
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: server rankings by RPC statistics
Jeffrey Altman [Fri, 20 Jul 2012 06:55:20 +0000]
Windows: server rankings by RPC statistics

Use VL_ProbeServer for VLDB servers and either
opcode_RXAFS_GetCapabilities or opcode_RXAFS_GetTime for
File servers.

Reviewed-on: http://gerrit.openafs.org/7825
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit c0d652dcdead56c53c622ade5df0f50e8aefd0f2)

Change-Id: If7402f8367332db85f64fc0b6e415df6a19f0958
Reviewed-on: http://gerrit.openafs.org/7832
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorxgen: per-opcode stats
Derrick Brashear [Sat, 21 Jul 2012 04:17:14 +0000]
rxgen: per-opcode stats

allow access to per-opcode stats

Reviewed-on: http://gerrit.openafs.org/7802
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jacob Thebault-Spieker <summatusmentis@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit c1081a3ab5dc7e5c83ad84dd0b5c795969745d7d)

Change-Id: I82525a1e3d1953eda5fbc51e7e83b1d855251e03
Reviewed-on: http://gerrit.openafs.org/7831
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorxgen: emit opcode defines in header
Derrick Brashear [Sat, 21 Jul 2012 04:07:41 +0000]
rxgen: emit opcode defines in header

define an opcode-name-specific define with the numeric value
of the opcode

Reviewed-on: http://gerrit.openafs.org/7801
Reviewed-by: Jacob Thebault-Spieker <summatusmentis@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit c3767f1e90b7ba61efcb25e022d27f35d1accc2b)

Change-Id: I031521eca93f077dece90e949a4fdfe0555dee70
Reviewed-on: http://gerrit.openafs.org/7830
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoxdr: fix two old FIXMEs related to signed/unsigned arithmetic
Garrett Wollman [Sat, 21 Jul 2012 04:04:58 +0000]
xdr: fix two old FIXMEs related to signed/unsigned arithmetic

It's implementation-defined whether the C '>>' operator, when
applied to a signed integer, is sign-extending or zero-filling.
If you want unsigned arithmetic, you have to ask for it explicitly.
One assumes the reason for the shift is to avoid overflow if the
returned size/count is later converted to a signed int, in which
case maybe it would be better to use INT_MAX here.  This is the
minimal change necessary for correctness.

Reviewed-on: http://gerrit.openafs.org/7800
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 417df0d495a8636aec6959b074a35885e20022c9)

Change-Id: I6be50edca3098fb21148c4eaa3cd6a3654eafe6a
Reviewed-on: http://gerrit.openafs.org/7824
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: AFSTearDownFcbExtents loop conditional
Jeffrey Altman [Sat, 21 Jul 2012 16:17:46 +0000]
Windows: AFSTearDownFcbExtents loop conditional

If there are extents in the list with a non-zero ActiveCount,
those extents will be skipped and the list 'le' will never
become empty.  Add an additional condition to ensure that the
loop is only executed once for each extent in the list.

Reviewed-on: http://gerrit.openafs.org/7810
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 860812931f3adf07c85ac2a56deb149b9c0d33bb)

Change-Id: Ia3f52f6f4d9a01dfb75fb4c529f794c6ee773740
Reviewed-on: http://gerrit.openafs.org/7823
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: memory leak AFSInitPIOCtlDirectoryCB
Jeffrey Altman [Sat, 21 Jul 2012 16:02:20 +0000]
Windows: memory leak AFSInitPIOCtlDirectoryCB

In an error occurs during AFSInitPIOCtlDirectoryCB processing
the nonpaged pool allocation would be leaked.

Reviewed-on: http://gerrit.openafs.org/7809
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 6b0bc2f6ff6ffecb4dd158ba5d2021d46bad7da0)

Change-Id: I75f592e347aea821993eb334d0dba1675a86b92f
Reviewed-on: http://gerrit.openafs.org/7822
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: memory leak AFSRemoveVolume
Jeffrey Altman [Sat, 21 Jul 2012 16:00:21 +0000]
Windows: memory leak AFSRemoveVolume

Do not leak the
VolumeCB->ObjectInformation.Specific.Directory.PIOCtlDirectoryCB->NonPaged
allocation and the associated lock object.

Reviewed-on: http://gerrit.openafs.org/7808
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 af1bdc2b7758615ac22505128415a4f10a1f8f10)

Change-Id: I9c265e2474d3cda8a450abf3d5fc53fc619f16e5
Reviewed-on: http://gerrit.openafs.org/7821
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: AFSExFreePool -> AFSExFreePoolWithTag
Jeffrey Altman [Sat, 21 Jul 2012 15:52:22 +0000]
Windows: AFSExFreePool -> AFSExFreePoolWithTag

Replace AFSExFreePool() with AFSExFreePoolWithTag() which is
a wrapper around both ExFreePool() and ExFreePoolWithTag().
If a 'Tag' value, is provided, ExFreePoolWithTag() is used.
Otherwise, ExFreePool().

Specify allocation tag values wherever possible.  Path name buffer
tags are not specified because they are allocated using multiple
tags.  The same is true for network provider string buffers.

This is being done in order to debug a memory corruption issue.

Warning: this is a change to the AFSRedir->AFSRedirLib interface
and therefore both drivers must be updated with a reboot and
not simply restarting the service.

Reviewed-on: http://gerrit.openafs.org/7807
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 fe61f35d35003121c94b717a1dd79119c9073adc)

Change-Id: Icf830401c672c8953eedbfaa76e4bc36de8f5edb
Reviewed-on: http://gerrit.openafs.org/7820
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Freeing SeQueryInformationToken allocations
Jeffrey Altman [Sat, 21 Jul 2012 15:57:40 +0000]
Windows: Freeing SeQueryInformationToken allocations

Memory allocated by SeQueryInformationToken() must be freed with
ExFreePool() and not AFSExFreePool().

Reviewed-on: http://gerrit.openafs.org/7806
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 8a11435eed2d3d1d1aef0ebb92822b34299b2e4d)

Change-Id: Ib623b967f43e422b7f6f280abd9904fc8f8b9167
Reviewed-on: http://gerrit.openafs.org/7819
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: fix abort on missing service
Jeffrey Altman [Fri, 20 Jul 2012 14:20:02 +0000]
rx: fix abort on missing service

patchset 1fbe83f9aacfc36a9c426ba1fd18ad7c72869dc1 introduced
the possibility that a NULL connection pointer could be dereferenced.
Prevent it.

Reviewed-on: http://gerrit.openafs.org/7794
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 3ec1bdf9c74bd250d49065fa84475a5123461744)

Change-Id: If65086177fd0d65d4ba4a57153b453abe939cf3c
Reviewed-on: http://gerrit.openafs.org/7818
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: rxi_ReceiveDataPacket do not set rprev on drop
Jeffrey Altman [Mon, 16 Jul 2012 20:53:32 +0000]
rx: rxi_ReceiveDataPacket do not set rprev on drop

In KERNEL builds if there are no available packet buffers the
new packet is dropped on the floor.  In that case, the call's
rprev field should not be updated because the packet was never
"received" for delivery to the application.

Remove a dead comment from the same block of code.

Reviewed-on: http://gerrit.openafs.org/7784
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit bbf92017b084a8ba8df81effe06d11421cdf4bb0)

Change-Id: Id31069be917ca016ade77c204e8d6fb710891f51
Reviewed-on: http://gerrit.openafs.org/7817
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: avoid memory overrun during extent release
Jeffrey Altman [Fri, 20 Jul 2012 05:00:38 +0000]
Windows: avoid memory overrun during extent release

While tearing down extents, if an extent is found to be in use
it will be skipped.  Must use 'ulReleaseCount' as the index
into the released extent array.

Reviewed-on: http://gerrit.openafs.org/7796
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 91f17adf01e54302b0c8d86df5627214f0bdf5d0)

Change-Id: Ia57382aa1f4cdfe9737eda4eacab7de332dd42a8
Reviewed-on: http://gerrit.openafs.org/7816
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: more roken.h include corrections
Jeffrey Altman [Fri, 20 Jul 2012 04:59:33 +0000]
Windows: more roken.h include corrections

Reviewed-on: http://gerrit.openafs.org/7795
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 7ec46ced616f7af72fa3ce1d60304ae475977a28)

Change-Id: I2cc589914785b56446a3116808eb2b61a4fa88f7
Reviewed-on: http://gerrit.openafs.org/7815
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agowindows: add afsroken to afssvrcpa NTMakefile
Jeffrey Altman [Fri, 20 Jul 2012 06:54:18 +0000]
windows: add afsroken to afssvrcpa NTMakefile

Reviewed-on: http://gerrit.openafs.org/7797
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 14c98f9df9fd7686f6fc453edaf70168e19e6da9)

Change-Id: I286bc7cae9d3d575dd1d231f4b9aa484b1f8cdd4
Reviewed-on: http://gerrit.openafs.org/7814
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: dead initialization in rxi_RestoreDataBufs
Garrett Wollman [Sun, 15 Jul 2012 19:41:25 +0000]
rx: dead initialization in rxi_RestoreDataBufs

Don't initialize iov only to overwrite it immediately below.

Reviewed-on: http://gerrit.openafs.org/7770
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 0b69ca34eb55f9d0a53e5f6b2e6155c7824b2fde)

Change-Id: I2545e0e71b002856ef6d88fe2727eb73cf7fffba
Reviewed-on: http://gerrit.openafs.org/7813
Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: eliminate dead variable sdl in rx_getAllAddr_internal()
Garrett Wollman [Mon, 16 Jul 2012 02:00:04 +0000]
rx: eliminate dead variable sdl in rx_getAllAddr_internal()

Near as I can tell, sdl is only assigned once, and is never read.

Reviewed-on: http://gerrit.openafs.org/7775
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 6422be38fc8084a58b70412e3cfe087a4e1e57b8)

Change-Id: Ic0223e37bd85736e80f3ac79d1726e94c53f1a55
Reviewed-on: http://gerrit.openafs.org/7812
Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorx: don't leak a connection hash table in unlikely error condition
Garrett Wollman [Sun, 15 Jul 2012 19:01:29 +0000]
rx: don't leak a connection hash table in unlikely error condition

If getsockname() returns an error (which shouldn't be possible),
rx_InitHost would leak a connection hash table (which probably
doesn't matter because the caller will just exit anyway).  Make
the analyzer happy by freeing the memory anyway.

Reviewed-on: http://gerrit.openafs.org/7768
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit 53c432d1feba6454af4526b4d797b45a6f205eac)

Change-Id: Id95faca47ee0eeb4fac9fcc188b5d94d2b61de78
Reviewed-on: http://gerrit.openafs.org/7811
Reviewed-by: Garrett Wollman <wollman@csail.mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agorxgen: Make input strings const
Simon Wilkinson [Wed, 30 May 2012 17:25:51 +0000]
rxgen: Make input strings const

Modify the code generation routines so that string inputs to RPCs
are declared as (const char *) on the client side. This doesn't affect
callers as we can freely cast from (char *) to (const char *), but means
it is easier to write API wrappers that accept const arguments.

Reviewed-on: http://gerrit.openafs.org/7556
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit ed02c6ff8a4bc2cc82876a4b1736a8985548a71c)

Change-Id: Ia56cca791b7bfad453d4cd6300f718dd167454d3
Reviewed-on: http://gerrit.openafs.org/7791
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoRemove redundant header includes
Simon Wilkinson [Thu, 8 Sep 2011 10:26:39 +0000]
Remove redundant header includes

Remove includes of system headers where roken.h already takes care of
including them. This simplifies the source tree, reduces the amount of
work done by the compiler, and ensures that all of our headers are
included with the correct guards

The list of files to edit was generated with the following script:

list=`grep include external/heimdal/roken/roken.h.in                \
         | sed -e's/#include//g' | sort | uniq`;                    \
for A in `find . -name *.c | xargs grep -l roken.h                  \
             | grep -v external/ | grep -v WINNT/`; do              \
     found=0;                                                       \
     for B in $list; do                                             \
         if grep "$B" $A > /dev/null; then                          \
              echo "$A : $B";                                       \
              found=1;                                              \
         fi;                                                        \
     done;                                                          \
     if [ $found == 1 ] ; then mvim -f $A; fi;                      \
done

Reviewed-on: http://gerrit.openafs.org/5815
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Reviewed-by: Alistair Ferguson <alistair.ferguson@mac.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
(cherry picked from commit 83b76f564b0972c6163656637b2d64d06895e41a)

Change-Id: I84ab2910badc87da6cc242f454d8253fce6af128
Reviewed-on: http://gerrit.openafs.org/7790
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: add cm_ServerListSize()
Jeffrey Altman [Fri, 6 Jul 2012 20:04:28 +0000]
Windows: add cm_ServerListSize()

cm_ServerListSize returns the length of a cm_serverRef_t list.

Reviewed-on: http://gerrit.openafs.org/7759
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 6b8c43559073caa7f0b9db25bab4812606740e7d)

Change-Id: I755d5a93e44e858f4fcf5dddbf3320077d1ee848
Reviewed-on: http://gerrit.openafs.org/7762
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: add cm_IsVolumeReplicated()
Jeffrey Altman [Fri, 6 Jul 2012 20:02:38 +0000]
Windows: add cm_IsVolumeReplicated()

Given a file id indicates whether the volume it is located on
is replicated or not.

Reviewed-on: http://gerrit.openafs.org/7758
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 2dbe1316a17716e57013cf41e7b19ec898b94cbf)

Change-Id: I6aa7bc2c60162025745e30aa0f5a31d2a359b8e9
Reviewed-on: http://gerrit.openafs.org/7761
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Redesign of server preferences
Jeffrey Altman [Mon, 9 Jul 2012 13:34:22 +0000]
Windows: Redesign of server preferences

Server rankings should be composed from three values:

 1. administrative preferences

 2. network address locality

 3. peer performance (rtt and congestion window)

This ensures that local subnet servers are always
preferred.

Add a new rank for down servers so they are always
sorted las in cm_serverRef lists.

Reviewed-on: http://gerrit.openafs.org/7757
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit a9be0735b5e23adefc5fd57083ca206e61820bab)

Change-Id: I6954a851115ba4b5bb3987ed46afd487156b03a7
Reviewed-on: http://gerrit.openafs.org/7760
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_SyncOp waiting logic
Jeffrey Altman [Tue, 10 Jul 2012 04:13:04 +0000]
Windows: cm_SyncOp waiting logic

Use interlocked increment and decrement to track the waiters
and use the wait queue itself to determine if there are waiters
instead of the CM_SCACHEFLAG_WAITING flag.

Reviewed-on: http://gerrit.openafs.org/7752
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit f70952a347dff39bd445f8361224e1c622a5b1cf)

Change-Id: I115c480b07d1e82bfe05f8c57acd38eeb05aa94d
Reviewed-on: http://gerrit.openafs.org/7755
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: remove unused CM_SCACHEFLAGs
Jeffrey Altman [Tue, 10 Jul 2012 04:09:14 +0000]
Windows: remove unused CM_SCACHEFLAGs

CM_SCACHEFLAG_CALLBACK and CM_SCACHEFLAG_STATD were cleared at
various points and tested at various points but never set.
Remove them.

Reviewed-on: http://gerrit.openafs.org/7751
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 80732b94ef8a8fd239d8f77d8e10f0d770f0ec24)

Change-Id: I09eda21c5bda81dffc4c389c490c8182d7f19efb
Reviewed-on: http://gerrit.openafs.org/7754
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: not all short rx_Read[v] reads are fatal
Jeffrey Altman [Sat, 7 Jul 2012 18:11:23 +0000]
Windows: not all short rx_Read[v] reads are fatal

When performing a RXAFS_FetchData[64] RPC, a short read from
rx_Read[v] is not a reason to stop processing the call unless
it is the first read and the file server FetchData offset bug
has been detected.  If not, only stop processing if the
rx_Read[v] return value is <= 0.

Reviewed-on: http://gerrit.openafs.org/7749
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 6fb3b7aa317a6429daf86b140785875a70686bac)

Change-Id: Id05c4abe07bf2e8a1980f15fc60874be444406a5
Reviewed-on: http://gerrit.openafs.org/7753
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: record mount point string data version
Jeffrey Altman [Mon, 9 Jul 2012 04:49:13 +0000]
Windows: record mount point string data version

The Windows cache manager stores the mount point or symlink target
string in the cm_scache_t object.  If the string is the empty string
then the target needs to be resolved.  Otherwise it is considered
up to date.  With this approach, care must be taken to ensure that
the string is erased whenever the data version changes.

This patchset records the data version of the mount point target
string in the cm_scache_t object.  Being up to date is determined
by comparing the current data version of the object to the mount
point string version.  A match and the string is up to date.

Reviewed-on: http://gerrit.openafs.org/7745
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 606d9554e2880c2978675b7eae3fa5f53bd07c3d)

Change-Id: I60b241a4e8fb798cff58ac7eb812774e0fdc892d
Reviewed-on: http://gerrit.openafs.org/7748
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: initialize afsStatus and callback structs
Jeffrey Altman [Sun, 8 Jul 2012 06:00:17 +0000]
Windows: initialize afsStatus and callback structs

In cm_GetBuffer, cm_GetData, cm_VerifyStoreData

Reviewed-on: http://gerrit.openafs.org/7744
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit df46bb407a9073374337f4b8e4291e18c74e548c)

Change-Id: I9c0ec99a067347b20836d2daa3f1902fb7deefcc
Reviewed-on: http://gerrit.openafs.org/7747
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_MergeStatus unknown interface numbers
Jeffrey Altman [Fri, 6 Jul 2012 19:07:13 +0000]
Windows: cm_MergeStatus unknown interface numbers

Ignore status information if the interface number is unknown.
Currently only version 1 is recognized.

Reviewed-on: http://gerrit.openafs.org/7743
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 8115841e2fc9d827a7207ddc18e5c84e466ed7e7)

Change-Id: Ib2cf79618a44e8da09bc61dc670c10266a3bc39f
Reviewed-on: http://gerrit.openafs.org/7746
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: interlocked ops for osi lock flags
Jeffrey Altman [Thu, 5 Jul 2012 20:55:03 +0000]
Windows: interlocked ops for osi lock flags

Use interlocked operations to set and clear the flags in the osi
mutex and readwrite lock objects.

Reviewed-on: http://gerrit.openafs.org/7720
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
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 9bc068edc890991b5d384108ce972c12d3c18975)

Change-Id: I82d22e45e4f0245e70b7339e4eb0e74e5252bbb5
Reviewed-on: http://gerrit.openafs.org/7740
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: use spin counts for osi base locks
Jeffrey Altman [Thu, 5 Jul 2012 20:52:51 +0000]
Windows: use spin counts for osi base locks

On multiprocessor systems, spin counts are faster than entering
a processor wait state when there is critical section contention.
Microsoft recommends a count of 4000.  This feature is only available
on XP and above which is fine since OpenAFS master and 1.7 no longer
support Windows 2000.

Reviewed-on: http://gerrit.openafs.org/7719
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
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 d5f067aa735968d4da6685f0883ca978d5e6795c)

Change-Id: I9ace400460db98caa7939227ad6b78c2d65bfd7c
Reviewed-on: http://gerrit.openafs.org/7739
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: X86 DEBUG Interlocked Or and And
Jeffrey Altman [Fri, 6 Jul 2012 01:13:21 +0000]
Windows: X86 DEBUG Interlocked Or and And

X86 DEBUG builds do not have a native InterlockedOr or
InterlockedAnd.  Therefore, we must provide our own.

Reviewed-on: http://gerrit.openafs.org/7726
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 f4baf7cf99ef52f3ce9d6a7ee577cd9140a8bdc5)

Change-Id: I0fdd34867294f8c3f321636c460c538a862fa001
Reviewed-on: http://gerrit.openafs.org/7738
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: remove unused 'deltas' from cm_CheckServersMulti()
Jeffrey Altman [Thu, 5 Jul 2012 22:25:09 +0000]
Windows: remove unused 'deltas' from cm_CheckServersMulti()

Reviewed-on: http://gerrit.openafs.org/7725
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 52f3878da4b8f5356e7799f2659d41cade0dbdee)

Change-Id: I984e13007ade5028989c834d560e3aa9ae657bcb
Reviewed-on: http://gerrit.openafs.org/7734
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Apply cm_GetVolServerList() to cm_ConnFromVolume()
Jeffrey Altman [Thu, 5 Jul 2012 22:22:24 +0000]
Windows: Apply cm_GetVolServerList() to cm_ConnFromVolume()

Use cm_GetVolServerList() in cm_ConnFromVolume() to ensure an
error is returned instead of dereferencing a NULL pointer if
the serverRef list for the requested volume cannot be obtained.

Reviewed-on: http://gerrit.openafs.org/7724
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
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 3b3b620a03b56dba7f0696f8175b9fb2c8fbd6ae)

Change-Id: Ic533b9c63a7956f6d5e268967d84efb71e5d4395
Reviewed-on: http://gerrit.openafs.org/7733
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Apply cm_GetVolServerList() to cm_Analyze()
Jeffrey Altman [Thu, 5 Jul 2012 22:21:51 +0000]
Windows: Apply cm_GetVolServerList() to cm_Analyze()

Using cm_GetVolServerList() it is possible to simplify
the logic in cm_Analyze().  It is no longer necessary
for cm_Analyze() to call cm_GetServerList() which must
obtain its own reference the the cm_volume_t object via
a fileId lookup.  This reduces lock contention and makes
the code a bit more readable.

Reviewed-on: http://gerrit.openafs.org/7723
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
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 4e3400414f676b9a0033f041f81671534ffdab99)

Change-Id: I2814fd77939be638d7159504604e3432bb9f115f
Reviewed-on: http://gerrit.openafs.org/7732
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Add cm_GetVolServerList
Jeffrey Altman [Thu, 5 Jul 2012 22:16:09 +0000]
Windows: Add cm_GetVolServerList

cm_GetVolServerList() is a wrapper for cm_GetVolServers() that
returns CM_ERROR_NOSUCHVOLUME if the server list cannot be
obtained for the requested volume.

Reviewed-on: http://gerrit.openafs.org/7722
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
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 2575d87824fbf5d0e1a5fcb3a1b49949d6fbe2ee)

Change-Id: I07fcf9d2cf444da4d58ba1f18803b3b9a3e9b177
Reviewed-on: http://gerrit.openafs.org/7731
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Modify cm_GetVolServers and cm_GetServerList
Jeffrey Altman [Thu, 5 Jul 2012 22:06:13 +0000]
Windows: Modify cm_GetVolServers and cm_GetServerList

Move the determination of the 'replicated' state into
cm_GetVolServers() so that cm_GetServerList() and
cm_ConnFromVolume() can be implemented without duplicating
the resolution of the cm_vol_state_t object.

Reviewed-on: http://gerrit.openafs.org/7721
Reviewed-by: Chas Williams - CONTRACTOR <chas@cmf.nrl.navy.mil>
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 ef5686b1a11e1a6ba4590b09170306190d6c7393)

Change-Id: I8871bdf34bc5b42927df9043ea3949a6cb5783bc
Reviewed-on: http://gerrit.openafs.org/7730
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_ConnByServer hold userp->mx only while necessary
Jeffrey Altman [Thu, 5 Jul 2012 18:54:04 +0000]
Windows: cm_ConnByServer hold userp->mx only while necessary

The cm_userp_t does not need to be locked while the cm_conn_t
force new connection processing is taking place.

Reviewed-on: http://gerrit.openafs.org/7718
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 5b9e9265a0df707e9fb79842ab5aa94b59b8e88e)

Change-Id: I2de503c0c37e9808d120a0639e2a7d00a1a99dec
Reviewed-on: http://gerrit.openafs.org/7729
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_ConnByServer add conn to list after init
Jeffrey Altman [Thu, 5 Jul 2012 18:33:50 +0000]
Windows: cm_ConnByServer add conn to list after init

Do not add a newly created cm_conn_t to the cm_server_t connsp
list until after the object is fully initialized.

Reviewed-on: http://gerrit.openafs.org/7717
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 c3ce54e6b7be8c2996a0fda2d7ad9780fca2f0ef)

Change-Id: I5561be88c466f4b50a5d4ab72d534f1a01fb9c17
Reviewed-on: http://gerrit.openafs.org/7728
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_HaveCallback optimize .readonly
Jeffrey Altman [Thu, 5 Jul 2012 15:03:35 +0000]
Windows: cm_HaveCallback optimize .readonly

If the cm_scache_t has a registered callback, there is no reason
to obtain a volume reference for a .readonly.  Just use the
callback.

Reviewed-on: http://gerrit.openafs.org/7716
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 f73aebbe8772e62bf8930d70e9edab2f82ff8984)

Change-Id: I60cc53888b6bf328f95c9b15ea910f34ce05ddc9
Reviewed-on: http://gerrit.openafs.org/7727
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agodoc: Add fs bypassthreshold man page
Andrew Deason [Thu, 28 Jun 2012 23:56:47 +0000]
doc: Add fs bypassthreshold man page

FIXES 130050

Reviewed-on: http://gerrit.openafs.org/7602
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 828ef9c39a14af265796755718c10b63513f952c)

Change-Id: I002b8832ffc4fc425d30a9d9375f1b143197bfa7
Reviewed-on: http://gerrit.openafs.org/7736
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: RDR RXAFS_GetVolumeStatus vs 1.1 'l' only
Jeffrey Altman [Tue, 3 Jul 2012 19:38:33 +0000]
Windows: RDR RXAFS_GetVolumeStatus vs 1.1 'l' only

The Windows redirector relies upon the ability to obtain volume
status information to decide whether a file system volume object
can be created and whether or not an extending write can be
permitted.  As of this writing, the file server always performs
a PRFS_READ access check on the volume's root directory (1.1)
vnode as a condition for releasing the volume state information
which includes:

  Message of the day (if any)
  Offline message (if any)
  Online flag
  InService flag
  Blessed flag
  NeedsSalvage flag
  Type
  MinQuota
  MaxQuota
  BlocksInUse
  PartBlocksAvail
  PartMaxBlocks

All of this information is publicly available to anonymous users
via "vos examine" so it is odd that it is hidden from anonymous
cache managers.  When RXAFS_GetVolumeStatus fails, the AFS redirector
was failing to create a file system object for the AFS volume.  That
in turn prevented the volume from being accessed even if the user
had 'l' in the root directory and full access everywhere else.

This patchset will make up fake data for the AFS volume if the
RPC fails.  However, doing so does have consequences.  The client
will be unable to make an accurate determination regarding free space
on the file server.  As a result, an extending write may be permitted
which writes data into the system page cache which in turn cannot
be written to the file server.   Such data will be lost and unrecoverable.

Reviewed-on: http://gerrit.openafs.org/7704
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 561b9ce80938d316223f2b313f8224fe06af9d5a)

Change-Id: Ia8bce4e37d6b642b751c2c087ec95401a0e3681d
Reviewed-on: http://gerrit.openafs.org/7715
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: HaveCallback vs readonlyVolumeVersioning
Jeffrey Altman [Tue, 3 Jul 2012 16:51:27 +0000]
Windows: HaveCallback vs readonlyVolumeVersioning

If the cm_scache_t volumeCreationDate is 0, the field is not
valid for comparison.  Add a check during the have callback test.

Reviewed-on: http://gerrit.openafs.org/7680
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 261ec65f20df46ed043d16a869d042cf61c6eda7)

Change-Id: I4347568f1e2d5b4a489206be527d5695382703c1
Reviewed-on: http://gerrit.openafs.org/7714
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: HaveCallback vs OfflineRO Is Valid
Jeffrey Altman [Tue, 3 Jul 2012 16:49:53 +0000]
Windows: HaveCallback vs OfflineRO Is Valid

commit f716962ab41847af4450d0a361f5de9195b32ed0
inadvertently broke the offline .readonly is valid functionality
when readonly volume versioning is disabled.  Restore it.

Reviewed-on: http://gerrit.openafs.org/7679
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 c3485a35b7a548d850d55dde4634ba78e5330aa9)

Change-Id: I3fb66a3d7afe2d32d00e419e5e85885f9eb86af7
Reviewed-on: http://gerrit.openafs.org/7713
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_DiscardSCache volumeCreationDate
Jeffrey Altman [Tue, 3 Jul 2012 16:42:52 +0000]
Windows: cm_DiscardSCache volumeCreationDate

commit f716962ab41847af4450d0a361f5de9195b32ed0
clears the cm_scache_t volumeCreationDate field.
It shouldn't because the volumeCreationDate is not a property of
the callback.  It is a property of the status information which
does not change simply because the callback expires.

Reviewed-on: http://gerrit.openafs.org/7678
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 64a37fa9f916cd1e8f0ec9bb252fda13aa8b4cd4)

Change-Id: I18be397abb0cd223ac508c6addd11d00c64c54ba
Reviewed-on: http://gerrit.openafs.org/7712
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: add missing items to 'clean' rules
Jeffrey Altman [Fri, 29 Jun 2012 04:35:49 +0000]
Windows: add missing items to 'clean' rules

Reviewed-on: http://gerrit.openafs.org/7653
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 673127f6928c9c2fb5a3b0400fa36d4afcf1e5df)

Change-Id: Ic8b5b529a4363d007e51d2db2d2228f422a8b3a9
Reviewed-on: http://gerrit.openafs.org/7711
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: afslogon expand short domain names
Jeffrey Altman [Tue, 26 Jun 2012 03:06:30 +0000]
Windows: afslogon expand short domain names

Depending on how the user specifies the domain name during login,
NPLogonNotify may be given a short or a full domain or kerberos
realm name.  If the name is the short name, attempt to expand it
automatically if there is no 'realm' configured for the short
domain name.

This patchset relies upon data in the local registry instead of
using an API such as NameTranslate in order to avoid network
queries to the domain controller that might not be reachable.

Reviewed-on: http://gerrit.openafs.org/7650
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 17584782a4d76facf5a89a3eeeebfcc23582b3e8)

Change-Id: I50c66298e4543932c02d5dce2f1d524d0bcf157f
Reviewed-on: http://gerrit.openafs.org/7710
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: afscreds import lsa before renew expiring
Jeffrey Altman [Mon, 25 Jun 2012 05:38:41 +0000]
Windows: afscreds import lsa before renew expiring

Reviewed-on: http://gerrit.openafs.org/7649
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 712c0c1d0e506a9010d7a5cc93dfd49bee006d41)

Change-Id: I1b4a6add63d52e870c25633695365395934cdbcc
Reviewed-on: http://gerrit.openafs.org/7709
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Remove HELP from afscreds
Jeffrey Altman [Mon, 25 Jun 2012 05:33:02 +0000]
Windows: Remove HELP from afscreds

The old .hlp format is no longer supported and the text of the
help files is long out of date.  Remove the HELP buttons from
the dialogs and all references to WM_HELP message processing
from the application.

Reviewed-on: http://gerrit.openafs.org/7648
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 0834e40bd7444ba1f1770c60b387cf513b279a4b)

Change-Id: Ia014ef3c07567d485d06b57523ff48d4766b07a7
Reviewed-on: http://gerrit.openafs.org/7708
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: afslogon major refactoring NPLogonNotify()
Jeffrey Altman [Tue, 19 Jun 2012 02:03:21 +0000]
Windows: afslogon major refactoring NPLogonNotify()

This is a major refactoring of NPLogonNotify() that is meant
to reduce redundancy and add functionality.  Key highlights
include:

 * New Domain\user hierarchy that permits configuration
   settings to be applied on a per user basis instead of a
   domain basis.  As part of the extension the username itself
   can be mapped.

 * Attempt to import the MSLSA credentials prior to performing
   KFW_AFS_get_cred().

 * Do not perform redundant KFW_AFS_get_cred() calls.

 * Add a flag to indicate if the authentication name is the
   LSA principal name.

 * Add more debugging messages.

Reviewed-on: http://gerrit.openafs.org/7635
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 91795c659087371f941231e51fe284de010e60b1)

Change-Id: I52546ff59a81b94ad14cb502ab8cce469bb1d284
Reviewed-on: http://gerrit.openafs.org/7707
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: afslogon cast away warnings
Jeffrey Altman [Tue, 19 Jun 2012 01:58:26 +0000]
Windows: afslogon cast away warnings

cast away size_t to int warnings in 64-bit builds.

Reviewed-on: http://gerrit.openafs.org/7634
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 76ae0f01b32d3e87273ff6d2c9c20eec59e22e16)

Change-Id: I2d84f48b4c9039f28842c2cb50ff5cf51dd3735e
Reviewed-on: http://gerrit.openafs.org/7706
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_UpdateVolumeLocation misplaced lock
Jeffrey Altman [Mon, 2 Jul 2012 02:19:08 +0000]
Windows: cm_UpdateVolumeLocation misplaced lock

The volume->mx was obtained in the wrong place which resulted
in the potential of a panic caused by obtaining the mutex when
it was already held.

Reviewed-on: http://gerrit.openafs.org/7654
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 4707174938b92df189697a2b7e463438c37c1ed0)

Change-Id: Ia1d9eca674650f26cded72460253df37508e6bc2
Reviewed-on: http://gerrit.openafs.org/7703
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: check perms before RXAFS_GetVolumeStatus
Jeffrey Altman [Fri, 22 Jun 2012 04:25:26 +0000]
Windows: check perms before RXAFS_GetVolumeStatus

Instead of calling RXAFS_GetVolumeStatus naked, perform a read
permission check using RXAFS_FetchStatus first.  This permits EACCES
caching to prevent unnecessary requests.

Regardless of which FileId is queried, always use the root vnode
FileId for the permission check.  The file server performs its
permission check using the root vnode.

Reviewed-on: http://gerrit.openafs.org/7641
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 05ac74528b30d36c195ff8f4df343fa72082a213)

Change-Id: Ia9408c2c80bcce0e857afdfe9f7e524f38ccaa07
Reviewed-on: http://gerrit.openafs.org/7694
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: WiX backup additional registry keys
Jeffrey Altman [Fri, 29 Jun 2012 02:29:19 +0000]
Windows: WiX backup additional registry keys

Move backup storage to HKLM\Software\OpenAFS\BackupSettings

Backup HKLM\SYSTEM\...\Services\AFSRedirector

Add ..\TransarcAFSDaemon\NetworkProvider "Debug" value

Reviewed-on: http://gerrit.openafs.org/7652
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 4929b0cb0b57a803a84673fe0faf619d088ed910)

Change-Id: Ia19e90923149a67aeee43c2d2da30d8ee9c0ff77
Reviewed-on: http://gerrit.openafs.org/7702
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: ensure TreeLock obtain and release same pointer
Jeffrey Altman [Wed, 27 Jun 2012 05:00:20 +0000]
Windows: ensure TreeLock obtain and release same pointer

The indirection ObjectInformation->ParentObjectInformation does
not appear to be stable.  When acquiring and releasing a parent
TreeLock, use a local variable to store the ParentObjectInformation
pointer and use that to access the TreeLock.  This will ensure that
the resource obtained is the one that is released.

Reviewed-on: http://gerrit.openafs.org/7651
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 03dfcce05aabf2ceecdb84528fc837176c52af77)

Change-Id: I07adac68fbeb4b4da927a805880cc3cf0c845708
Reviewed-on: http://gerrit.openafs.org/7701
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Media Protected if create on RO volume
Jeffrey Altman [Sun, 24 Jun 2012 14:16:42 +0000]
Windows: Media Protected if create on RO volume

If there is an attempt to create a file/directory on a readonly
volume as indicated by the Volume Characteristics, return
STATUS_MEDIA_WRITE_PROTECTED immediately.  Do not bother contacting
the afsd_service.

Reviewed-on: http://gerrit.openafs.org/7647
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 f3f282265a3d9e3c968fd06793e6d1a91337f443)

Change-Id: I5706108cd59ae5d46614182f32c3d38744c1ebe1
Reviewed-on: http://gerrit.openafs.org/7700
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Remove incorrect assert AFSVolumeInfo
Jeffrey Altman [Sun, 24 Jun 2012 14:12:51 +0000]
Windows: Remove incorrect assert AFSVolumeInfo

When querying the volume information, the input FileId does not
have to be a volume root.  Remove this extraneous assertion.

Reviewed-on: http://gerrit.openafs.org/7646
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 53413685ce56c5adba7b095265a62a5088977de2)

Change-Id: I6b0b74d17c865e6b8b71c8fce435e0a1e2f06e0d
Reviewed-on: http://gerrit.openafs.org/7699
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: NPGetConnectionPerformance
Jeffrey Altman [Sat, 23 Jun 2012 19:04:29 +0000]
Windows: NPGetConnectionPerformance

Restore the implementation of NPGetConnectionPerformance
in AFSRDFSProvider.dll.  This time just return 0 for all fields
except for the preferred read/write size which is set to 64K.

When this function is not implemented at all, a query for
performance of a \\AFS path will be processed by the SMB
redirector.  This can result in a 20 second timeout while waiting
for the SMB Browser query for "AFS <20>" to complete.

Reviewed-on: http://gerrit.openafs.org/7645
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 dddd393198bc066e0fea478baf719c97cd51ec53)

Change-Id: I500db48d8769bd04d3d545dfe9b4afc1eec67d9a
Reviewed-on: http://gerrit.openafs.org/7698
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: ShellExt Add Prop Page only if AFS
Jeffrey Altman [Sat, 23 Jun 2012 15:11:47 +0000]
Windows: ShellExt Add Prop Page only if AFS

If the file is not in AFS, do not add any of the AFS specific
property sheets.

Reviewed-on: http://gerrit.openafs.org/7644
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 5a6cf1494613b83332e4fad01980bb636c510a88)

Change-Id: I8a07b457d5ac13f5a8e79f370b9ebd11e4fe15e9
Reviewed-on: http://gerrit.openafs.org/7697
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: ShellExt display error if symlink not AFS
Jeffrey Altman [Fri, 22 Jun 2012 20:51:00 +0000]
Windows: ShellExt display error if symlink not AFS

If the path in which a Symlink is to be created is not located
within AFS, display an error dialog.

Reviewed-on: http://gerrit.openafs.org/7643
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 d95d4fcca997ea3f8bfbf4a2c1f22c402446aad8)

Change-Id: I4fc890c257713508fac0a9cb1be22fb770f5f2b0
Reviewed-on: http://gerrit.openafs.org/7696
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: Dir Invalidation Notify Current Object
Jeffrey Altman [Fri, 22 Jun 2012 20:46:23 +0000]
Windows: Dir Invalidation Notify Current Object

When an invalidation is processed for a directory object,
send the notification on the directory object that was invalidated
not its parent.

Reviewed-on: http://gerrit.openafs.org/7642
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 349c1f53383ee26eb13729d703b0b9e89865ec0c)

Change-Id: I162834f5e33540ee5503fd6b0a6d319da47c8f7e
Reviewed-on: http://gerrit.openafs.org/7695
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>

11 years agoWindows: cm_GetROVolumeID empty server list check
Jeffrey Altman [Thu, 21 Jun 2012 23:37:25 +0000]
Windows: cm_GetROVolumeID empty server list check

Instead of testing for a non-NULL server list, check to see
that the list itself is non-empty.

Reviewed-on: http://gerrit.openafs.org/7640
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 4785361388d21c46dd30332d89bb201522ee1a6c)

Change-Id: If64a704c1fbb409af08cf75baa6743b1e3aafc29
Reviewed-on: http://gerrit.openafs.org/7693
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>