Commit Graph

8065 Commits

Author SHA1 Message Date
Marc Dionne
1a6d4c162a Linux: fix aklog -setpag to work with ktc_SetTokenEx
The bit of code that allows aklog -setpag to work with recent
linux needed to be moved along with the change from ktc_SetToken
to ktc_SetTokenEx.

While we're in this bit of code, make it depend on the definition
of the syscall in the user space headers instead of relying on a
kernel configure test.

Change-Id: I0e556b514986b5d06daabcff67ecd51b0e4becdd
Reviewed-on: http://gerrit.openafs.org/2976
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-13 20:33:38 -07:00
Simon Wilkinson
bdc8aa160b rx: Don't count unknown packets as missing
Just because a packet is in the transmit queue, don't assume that
the other side has instantly seen it! Currently, if we receive an
ACK packet which doesn't include the entire transmit queue, then we
will end backing off, even if we haven't sent the packets.

Restrict this behaviour to packets which are implicitly acked (or
otherwise) by the sender.

Change-Id: I2d63cd27d6d748007f87ff303f3fd64549a6208d
Reviewed-on: http://gerrit.openafs.org/2959
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-13 20:03:55 -07:00
Jeffrey Altman
e45abc6cc2 Rx: Consolidate wait for tq busy and make its use uniform
rxi_WaitforTQBusy() is now used wherever a wait for the transmit
queue is required.  It returns either when the transmit queue is
no longer busy or when the call enters an error state.

Having made this change it is clear that call->currentPacket is
not always validated when the call->lock is reacquired which may be
true when rxi_WaitforTQBusy() is called.

Change-Id: Ibf297f1447755be2abd39a81063cc7efd7f7a08b
Reviewed-on: http://gerrit.openafs.org/2966
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-13 20:02:58 -07:00
Simon Wilkinson
09aec1539d rx: Don't malloc the xmit list
Building the transmit list happens in a time critical section of
code. Using malloc to allocate the list which holds the packets to
be transmitted slows down this critical section. Instead, just
allocate the space as part of the call structure.

Locking of xmitList is somewhat tricksy, as the call->lock is
dropped over calls to sendmsg(). However, the xmitList is protected
by the TQ_BUSY call flag, which prevents multiple threads from
usign the transmit queue, and hence the xmitList, simultaneously.

Change-Id: Iff64979fa1caeed2ba57d915fecb7ce823f345cf
Reviewed-on: http://gerrit.openafs.org/2957
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-13 20:02:05 -07:00
Andrew Deason
7d6080a841 RX: Force sane timeout values
Currently we do not check the specified timeout values when someone
changes a connection's dead, idle, or hard dead time. However, if the
conn's dead time is larger than the other two times, a loss of network
activity will result in one of the other timeouts getting triggered
first.

To prevent this and possibly other problems from happening, force a
connection's timeouts to always obey the relationship
secondsUntilDead <= idleDeadTime <= hardDeadTime, by checking these
values whenever they are changed.

Change-Id: I681dce7f359bf71333e69ceab8186bdc1d54d8dc
Reviewed-on: http://gerrit.openafs.org/2947
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-13 19:52:17 -07:00
Andrew Deason
48aca4a605 RX: Adjust all timeouts for RTT
Previously only the deadTime RX network timeout was getting adjusted
for the peer's rtt and rtt_dev values. Do this for the idle and hard
timeouts as well, since a higher RTT is going to make everything
potentially take longer.

Change-Id: I1aabcfd19656d5130eaa0e41e0974b3b4427add1
Reviewed-on: http://gerrit.openafs.org/2967
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-13 19:51:52 -07:00
Tom Keiser
198447ee71 update fssync-debug to handle the VOL_LOCKED flag
Allow fssync-debug to dump the VOL_LOCKED flag, rather than the
current behavior of printing absolutely nothing when this flag
is asserted.  In addition, increase the flag buffer size since
it turns out we would truncate if all nine flags were asserted
at once.

Change-Id: I4d58f8c599dcc3b17f8cfd76e88dac12097207c1
Reviewed-on: http://gerrit.openafs.org/2971
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-13 02:55:44 -07:00
Tom Keiser
9577ec85c9 trailing commas make xlc a sad panda
IBM VAC xlc_r throws parse errors when enumeration definitions have
trailing commas; let's avoid that.

Change-Id: I586fd6ed544bcbab444cc1d0964315a00b4d34b3
Reviewed-on: http://gerrit.openafs.org/2970
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-13 02:53:16 -07:00
Chas Williams (CONTRACTOR)
6880d4a3a2 Use bigger I/O sizes for the memcache
There doesn't seem to be a need to limit the rx message size when
using rx_WritevAlloc.  If there arent enough rx buffers to hold
the entire message at once, it will simply return less space.

Change-Id: Ic1e99432c8e4d21c71f831b8d6aeea9f12b1c99c
Reviewed-on: http://gerrit.openafs.org/2943
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-12 19:12:47 -07:00
Simon Wilkinson
5142f16bd3 hcrypto: Tidy up some merge conflicts
There were some (harmless) merge conflicts in the hcrypto Makefile.
Get rid of them.

Change-Id: Iaf67d234d0f9ff24432479b2ae065adb73d5665b
Reviewed-on: http://gerrit.openafs.org/2963
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-10-12 19:11:21 -07:00
Andrew Deason
e279ae77a7 LINUX: Build fixes for older kernels
Error and warning fixes for older kernels in osi_compat.h:

 - In afs_posix_test_lock, remove the assignment in the conditional to
   silence a warning

 - Call getsockopt for kernel_getsockopt, instead of setsockopt

 - Missing end brace in afs_try_to_freeze

 - Prototype find_exported_dentry, since Linux doesn't give us one

Change-Id: Iae56bb0b0405bfd23dfd68a22c1d7922663b1442
Reviewed-on: http://gerrit.openafs.org/2946
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-12 19:07:11 -07:00
Simon Wilkinson
e16d7b7d6a rx: Don't call gettimeofday for every packet ack
Every time we receive an ACK packet, we call gettimeofday() for
every entry in the transmit queue that's permanently ack'd by that
packet. Instead, just make a note of the time when we start
processing the packet queue, and use it for every packet in the
queue.

This shaves around 5% off rxperf's runtime with a window size of 128.

Change-Id: I65c705c575c4a470b49390e7efca33c279a3133c
Reviewed-on: http://gerrit.openafs.org/2956
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-12 10:32:19 -07:00
Jeffrey Altman
7e0b9ba7fc Windows: Build hcrypto shared library
Build a single afshcrypto.dll shared library on Windows.
There are no lwp vs pthread differences on Windows due to
the use of the Windows random data sources.

Change-Id: I02e4d7ee437440433a983f3eb361c78ac3cbbca6
Reviewed-on: http://gerrit.openafs.org/2964
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-12 08:09:21 -07:00
Jeffrey Altman
091b6e19d1 Windows: Cleanup build scripts; no include\afs or include\rx
As part of the build system cleanup, minimize the number of
directories in which include\afs and include\rx paths are included
by default.  To acheive this goal the windows openafs dirent.h is
moved from include\afs to include, references whenever possible to
openafs headers included in include\afs or include\rx are prefixed
with afs\ or rx\ as appropriate.

Some source files or directories have a broad range of interdependencies
that make separation quite challenging.  For those directories or files
the inclusion of the path is added at the smallest possible level.
At some point in the future the WINNT\afsd\ headers should be moved
from include\afs to include\WINNT and should be installed there first
and then referenced internally from that location instead of from the
WINNT\afsd directory.  That will permit further cleanup to be performed.

Change-Id: I5e3a9623071c71db2f4445dc43266fdb3dad2c91
Reviewed-on: http://gerrit.openafs.org/2961
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-12 08:07:00 -07:00
Simon Wilkinson
e95c8eaaf5 Fix rxperf includes
Don't use raw includes for "rx.h" and friends - instead include them
from the appropriate place in our include tree.

Change-Id: Ic136b20b571bef3f476de02302404d64cc741171
Reviewed-on: http://gerrit.openafs.org/2962
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-11 12:57:25 -07:00
Simon Wilkinson
d8434eefa7 rx: Indent dpf definition
Indent the CPP macros that define dpf() so that it's a little bit
clearer what's going on.

Change-Id: If2ccd637ac063c8400a16725972418224e9c5140
Reviewed-on: http://gerrit.openafs.org/2955
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-11 12:25:50 -07:00
Heimdal Developers
63592f0bfd Import of code from heimdal
This commit updates the code imported from the external
heimdal git repository to their revision
bf1f62b0a8cf72d32875656a7365f1e14d535dc5
which is described as switch-from-svn-to-git-1605-gbf1f62b

This is locally modified to include the earlier local fix
to sha512.c

Change-Id: I757e636654b713625f7d468da6aa37f1006aaa2a
Reviewed-on: http://gerrit.openafs.org/2954
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-11 12:10:10 -07:00
Simon Wilkinson
16b9038bd4 Heimdal: Import rand-w32.c for hcrypto on Windows
Windows has its own PRNG for hcrypto, so add the necessary file to
our import list.

Change-Id: Iea7a17fa9bfb90b9a9ebd5176936da21b3477bba
Reviewed-on: http://gerrit.openafs.org/2953
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-11 12:09:48 -07:00
Jeffrey Altman
7f742f45a2 Windows: Do not issue RXAFS change RPCs on known RO volumes
If the cm_scache_t is known to be on a RO volume, do not permit
RXAFS_xxx RPCs that would attempt to make a change to the volume
to be issued to the file server.  Instead, return CM_ERROR_READONLY
immediately.   This avoids triggering the abort threshold for
the current connection on the file server.

LICENSE MIT

Change-Id: I9c917e60277d281e32e4609d89b541803824251f
Reviewed-on: http://gerrit.openafs.org/2950
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-11 12:08:33 -07:00
Simon Wilkinson
f22ae5f7d8 Unix: Rework build system
Rework the unix build system so that we support taking CFLAGS and
LDFLAGS from the command line, and don't replace them with our own
settings. Also, take the opportunity to bring some sanity and
consistency into our Makefiles.

The standard Makefile.config  now defines rules for LWP, pthreaded
and shared library builds. The CFLAGS settings for these are
called LWP_CFLAGS, PTH_CFLAGS and SHD_CFLAGS, respectively.
Similarly named variables are provided for LDFLAGS.

A module may select to use a particular build type for its suffix
rule by including either Makefile.lwp, Makefile.pthread or
Makefile.shared from src/config. This creates an appropriate .c.o
suffix rule, defines AFS_CFLAGS and AFS_LDFLAGS as appropriate, and
creates two rules AFS_CCRULE and AFS_LDRULE, which can be used to
build, and link objects. For example:

foo.o: foo.c
	$(AFS_CCRULE) foo.c

foo: foo.o
	$(AFS_LDRULE) foo.o

If a you wish to override the CFLAGS or LDFLAGS for an object build
using these rules (or through the .c.o suffix rule) you can do so,
by defining CFLAGS_<object> or LDFLAGS_<object>. For example:

CFLAGS_foo.o= -DDEBUG
LDFLAGS_foo = -ldebugging

A module may also alter the behaviour of the compile and link steps
module wide by defining MODULE_CFLAGS or MODULE_LDFLAGS.

This functionality is now used throughout the tree:
    *) Suffix rules are used wherever possible, removing a number of
       unecessary build rules.
    *) All link steps are replaced with AFS_LDRULE
    *) All standard compile steps are replaced with AFS_CCRULE
    *) Unusal compile steps are defined, as far as possible, int
       terms of the LWP_ PTH_ and SHD_ variables.
    *) The use of $? has been removed entirely, as it makes it
       impossible to provide build rules with dependency information

Change-Id: If76207e45da402a0ed9d7c1bdbe83c58c911a4f2
Reviewed-on: http://gerrit.openafs.org/2896
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-10-11 08:00:29 -07:00
Andrew Deason
1466cd755c fssync-debug: exec DAFS version if DAFS detected
If the user requests something that differs depending on whether the
server is DAFS or not, try to exec the DAFS-enabled fssync-debug
(dafssync-debug) for them.

Based on a conversation with Tom Keiser.

Change-Id: If914d63d2eb4605e4d9a9d00af62264ac484c206
Reviewed-on: http://gerrit.openafs.org/2480
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-10-11 03:45:53 -07:00
Phillip Moore
a2888f6d40 Extract the .version file when building the srpm file
If you are building the source and binary rpms from a released
tarball, instead of a real git repo, the .version file is required by
build-tools/git-version.  With out this, the version defaults to
UNKNOWN, and although the source rpm will build, it won't compile.

Change-Id: I787b051d5150c65a0d71ac38b30f32e1c560c4b3
Reviewed-on: http://gerrit.openafs.org/2948
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-10-11 03:44:47 -07:00
Ben Kaduk
50b99f85ca Revert "FBSD: in lookup, when ISDOTDOT, unlock dvp"
This reverts commit 96e433aebd.

It was not properly tested, fails to compile on some systems,
and destabilizes the client.

Change-Id: I80b08013c9f2d060ab7ed5a18d57311701aa8b88
Reviewed-on: http://gerrit.openafs.org/2951
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-10 17:25:15 -07:00
Phillip Moore
f1a0239fba Added missing CLI argument dropped during last commit.
Oops -- when removing the -cell arguments to the bos commands, the
"admin" username argument to "bos adduser" was mistakenly removed as
well.

Change-Id: If5136869c7d2bff3340018a3110fd5408750e5a6
Reviewed-on: http://gerrit.openafs.org/2940
Reviewed-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 23:27:02 -07:00
Ben Kaduk
c2ed2577f9 FBSD: in lookup, when ISDOTDOT, unlock dvp
Keeping dvp locked when vp is its parent can lead to deadlock.
Always unlock dvp, not just for 6 and earlier.

Change-Id: I26a60188d39ccd24b4db7479c57a525bb37618e9
Reviewed-on: http://gerrit.openafs.org/2942
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 23:26:35 -07:00
Jeffrey Altman
77456c0794 Windows: do not leak cm_volume_t objects from LRU queue
The LRU queue is where volume objects are recycled from.
Therefore if they are removed then they must be put back.

Remove extraneous operations from cm_AdjustVolumeLRU().

LICENSE MIT

Change-Id: I1f6aadd0ffb7aeafa013087e4825b3c8d8252a2d
Reviewed-on: http://gerrit.openafs.org/2913
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-05 14:18:40 -07:00
Phillip Moore
51c761706a Quick Start Guide updated for RHEL rpms, and CLI syntax
The names of the RHEL rpms have been updated to reflect what is
actually published on openafs.org, and the CLI syntax of the commands
run using -noauth have had the unnecessary -cell options removed.

Change-Id: I5c03d371c822d1d064660a3b00fb3d1e64bff141
Reviewed-on: http://gerrit.openafs.org/2914
Reviewed-by: Russ Allbery <rra@stanford.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 12:30:01 -07:00
Christof Hanke
21e1bb9bb4 volserver: Do not return ENOMEM on AIX from XVolListPartitions
When calling "vos partinfo" or "vos listpart" towards a server
 running AIX with no partitions attached, it would return a
ENOMEM, because unlike on linux, malloc(0) returns NULL on AIX.
Thus, just don't do any malloc, when we have no partitions anyway.

Change-Id: Id1900e2ab11850ada8b2e91667288576d408014b
Reviewed-on: http://gerrit.openafs.org/2912
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 12:27:25 -07:00
Simon Wilkinson
e445faa68c rx: Reduce dependence on call->lock
This patch reduces our dependence on call->lock, by allowing more
of the reader thread to run lock free.  Doing so requires that
call->mode only be set by the reader thread.  As a result, call->mode
can only be set to RX_CALL_ERROR by rxi_CallError().  The mode is
set to RX_CALL_ERROR by the reader thread immediately after regaining
the call->lock when it has been dropped.

Change-Id: Ie9541d8beac2d428526f8b2b4cc0004219e820be
Reviewed-on: http://gerrit.openafs.org/2880
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 06:49:21 -07:00
Simon Wilkinson
e395c9f336 hcrypto: Fix builds on Irix
The recent hcrypto pullup added a depedence on the errx() function,
which isn't present on Irix. Solve this by pulling in a load more
of libroken, in order to provide this function.

In the long term, libroken should get split out into its own
directory, and the ability to use a previously installed
libroken should be added. For now, this will hopefully get Irix on
its feet again.

Change-Id: I0642f80079e113403cbef6eca03ca652616ddc61
Reviewed-on: http://gerrit.openafs.org/2904
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 06:48:46 -07:00
Simon Wilkinson
e7a12d56bc Irix: Make compiler less chatty
Supress a few of our errors from the Irix compiler and linker, so its
output is a little less verbose.

This change suppresses the function declared but not used and
multiple declaration errors that we get due to our static_inline fudge
and the paramater declared but not used errors.

Other error suppression is possible - you just need the number
immediately after the 'cc-' in the build logs to say which number to
add to the -woff line.

Change-Id: I55485ff422feeecbb922e8fd63321605d6a8575c
Reviewed-on: http://gerrit.openafs.org/2908
Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 06:48:21 -07:00
Heimdal Developers
de158f8fdf Import of code from heimdal
This commit updates the code imported from the external
heimdal git repository to their revision
48ad3e1e6597f03cce5439831ef94b5ec11894e9
which is described as switch-from-svn-to-git-1593-g48ad3e1

Change-Id: I0fda4dcf7c7e06de70636969c2f3242b9de714be
Reviewed-on: http://gerrit.openafs.org/2907
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 06:47:37 -07:00
Simon Wilkinson
b360ef85df Yet more imports from libroken
Even more symbols to keep Irix content

Change-Id: I6af4f0b9af0874a334ec8e5a19ea0650de295d4f
Reviewed-on: http://gerrit.openafs.org/2906
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-05 06:47:09 -07:00
Jeffrey Altman
d73bd5778a Windows: Kill AFS_LARGEFILES preprocessor symbol
All builds define AFS_LARGEFILES so kill the symbol and
discard the !AFS_LARGEFILES source code.

Change-Id: I36a2131e30b24d3d1a8f37f5629795bdd92c6b27
Reviewed-on: http://gerrit.openafs.org/2910
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-05 06:01:45 -07:00
Simon Wilkinson
fc9aa428f4 Kill AFS_64BIT_ENV
The AFS_64BIT_ENV was being pretty much universally defined. So,
remove the definition, and the conditional code that it controlled.
From this point on, all platforms are assumed to be capable of
handling 64bit values.

Change-Id: I3e4bde502af9f33f6998637c288e8fd0898ffa81
Reviewed-on: http://gerrit.openafs.org/2870
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-05 05:27:58 -07:00
Simon Wilkinson
27aed8fd27 Revert "util: Add base64 from Heimdal's roken"
This reverts commit d552426b14.

util already has a base64.c, the Windows bits of this are half-baked,
and we need to find a config.h from somewhere so that this builds
cleanly.

Just back it out, until I can do it properly.

Change-Id: Iec3ef4579c8f83c7c00e03ad777489e287bbd2f3
Reviewed-on: http://gerrit.openafs.org/2909
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-05 05:23:46 -07:00
Heimdal Developers
47da0d1e15 Import of code from heimdal
This commit updates the code imported from the external
heimdal git repository to their revision
48ad3e1e6597f03cce5439831ef94b5ec11894e9
which is described as switch-from-svn-to-git-1593-g48ad3e1

This import was manually modified to preserve our current local
fix for sha512.c

Change-Id: Ie020beb7324469d33b85ac4c559cc473f2728d19
Reviewed-on: http://gerrit.openafs.org/2903
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 17:46:14 -07:00
Simon Wilkinson
66b523afb5 Import yet more files from Heimdal
Import still more files from Heimdal, so that we can try to make
Irix happy once more. Mutter, mutter, mutter.

Change-Id: Ic8f20885fd324ab3698109f75ba41cdf6d0975dd
Reviewed-on: http://gerrit.openafs.org/2902
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 17:45:29 -07:00
Simon Wilkinson
d382c520cc Heimdal: Fix 32bit build problems
The earlier inclusion of sha512 from Heimdal broke the build on
32bit platforms, because this file doesn't flag 64bit constants as
being such.

The correct place for this fix is in Heimdal, and it will be replaced
with a fix from Heimdal as soon as one is available. For now though,
this gets our build going again.

Change-Id: I0de822a933184078c491a16aafef45519fa2bbd2
Reviewed-on: http://gerrit.openafs.org/2901
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 12:26:17 -07:00
Andrew Deason
4803d50bdb vol: Log ignored dirs that look like partitions
If we see a /vicep*-like directory when we VAttachPartitions, and we
ignore it because it lacks an AlwaysAttach, log that we ignored it.
This may make things less confusing to admins that just try to create
a /vicep* directory and don't know why it doesn't work.

Feature suggested by Jason Edgecombe.

FIXES 128221

Change-Id: I0802f914658c7df413b22b3726a5085f1b646266
Reviewed-on: http://gerrit.openafs.org/2893
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
2010-10-04 12:21:35 -07:00
Simon Wilkinson
d552426b14 util: Add base64 from Heimdal's roken
Add the base64 code from libroken into libutil, using the src/external
framework.

Create a new, non-installed directory, to hold util headers, rather than
continuing to stuff everything into afs/

Change-Id: I6b743a3702c3bb07ac798392475e7e067765f238
Reviewed-on: http://gerrit.openafs.org/2900
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 09:09:53 -07:00
Simon Wilkinson
26b61c64b5 hcrypto: Build fixes
Fix the hcrypto build to deal with the changes introduced by the
latest import from Heimdal

Change-Id: I2effebffb6df2fdb351d070f8ea06ecf01aab46e
Reviewed-on: http://gerrit.openafs.org/2899
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 09:09:23 -07:00
Heimdal Developers
7ebed02734 Import of code from heimdal
This commit updates the code imported from the external
heimdal git repository to their revision
48ad3e1e6597f03cce5439831ef94b5ec11894e9
which is described as switch-from-svn-to-git-1593-g48ad3e1

Change-Id: I90eb6752000d6794e830a704adcf367928b05a98
Reviewed-on: http://gerrit.openafs.org/2898
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 09:09:04 -07:00
Simon Wilkinson
b0974636a3 Add more files from Heimdal
Add the base64 implementation from libroken, and the n-fold.c file
from libkrb5 to the list of source files that we import from Heimdal.

It also pulls in the new sha512.c and validate.c files which are now
necessary to complete a userspace hcrypto build.

This patch will fail to build until the build fixes from the subsequent
change are applied.

Change-Id: I60a691d0ccebd6d6bfb823856f79b59670eb86ec
Reviewed-on: http://gerrit.openafs.org/2897
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 09:08:44 -07:00
Simon Wilkinson
907521feb1 configure: Restore saved CFLAGS
When we test for whether the C compiler can take the
-fno-strength-reduce flag, we add the flag to CFLAGS to do so.
However, we were not restoring the old value of this flag when we
completed the test, and so we were always setting -fno-strength-reduce
in the userspace compile.

Previously, this was harmless, as we always overwrote CFLAGS, but if
we're moving to a world where we honour the user's setting of CFLAGS,
we need to not leak changes in this way.

Change-Id: I029c9fe91132ced34867445afe673761a597ccbe
Reviewed-on: http://gerrit.openafs.org/2894
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 09:07:55 -07:00
Simon Wilkinson
b1f747c1f1 configure: Don't let autoconf pick our CFLAGS
If the user hasn't specified CFLAGS on the command line to
./configure, then autoconf will set them to -g -O2 if the compiler
supports those options.

For compatibility with what OpenAFS has always done, and to let us
manually set optimisation and debugging flags later, disable this
behaviour.

Change-Id: Ic78d5f824433d94d76f16c107af3488132d57155
Reviewed-on: http://gerrit.openafs.org/2895
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-04 09:07:32 -07:00
Andrew Deason
9fed169b1c vos release: Force full dump on RO_DONTUSE sites
When releasing a volume, currently we perform an incremental dump on
RO_DONTUSE sites if the volume exists on the remote site. Since
RO_DONTUSE implies that we do not expect a site to exist there, delete
the extant volume if we find one and force a full dump.

If we perform an incremental dump, we run the risk of incrementally
dumping to a temporary volume that the administrator is not aware of,
and doesn't have any actual data but has a last update time late
enough that it may be missing some data after the incremental dump. So
to avoid that, force a full dump every time.

Change-Id: If751a66d6e1499b5d6f67457ae28277a6200c53a
Reviewed-on: http://gerrit.openafs.org/2731
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
2010-10-03 12:10:24 -07:00
Chas Williams (CONTRACTOR)
60c4b24889 sin_family is not network order
sin_family isnt sent over the network and therefore doesnt need
htons().  sin_family is essential the same as domain, and no one
does socket(htons(AF_INET), ...)

Change-Id: Ie0e2396f78e0934d49aeeacfc9c5ffe98df211b6
Reviewed-on: http://gerrit.openafs.org/2891
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-03 12:09:56 -07:00
Marc Dionne
196d032fb2 Remove duplicate rx_stats targets in libuafs Makefile
The libuafs part of commit 4346144b was not needed, rx_stats was
already in the Makefile.  Harmless, but generates warnings.

Revert the libuafs portion of that commit.

Change-Id: I14d64445c9690bc6d69881c6bd6c00c4670895f3
Reviewed-on: http://gerrit.openafs.org/2892
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
2010-10-03 12:06:57 -07:00
Derrick Brashear
a30da5e74c rx stats atomic inclusion needs kmutexes for emulation
for platforms with no native atomics we use a mutex. well,
fine, but without defining kernel mutexes, that doesn't work so
well.

Change-Id: Ia85e24aad8684a3855511de9548acee4ab86e83e
Reviewed-on: http://gerrit.openafs.org/2890
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
2010-10-03 10:54:18 -07:00