]> git.michaelhowe.org Git - packages/o/openafs.git/log
packages/o/openafs.git
14 years agoutil: Remove unnecessary uuid_mem* macros
Simon Wilkinson [Wed, 16 Mar 2011 21:23:17 +0000 (21:23 +0000)]
util: Remove unnecessary uuid_mem* macros

Once upon a time, in a galaxy far far away, uuid used bcmp and bcpy
operations in kernel space. However, we changed that back in 2001, and
since then the uuid_memcpy and uuid_memcmp macros have been redundant.
Tidy up the code a little by removing them.

Change-Id: I3abcff79b36a330f1619c3d7e0a791eac1cf69a1
Reviewed-on: http://gerrit.openafs.org/4253
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agodir: Make test utility build again
Simon Wilkinson [Wed, 16 Mar 2011 18:11:21 +0000 (18:11 +0000)]
dir: Make test utility build again

Make the 'dtest' test utility, which can be used to test the functioning
of the dir package, as well as to manipulate the directories that it
creates, build again.

Change-Id: I3b87c691cc9cb7ffce9297243d4a709d2e94fd40
Reviewed-on: http://gerrit.openafs.org/4251
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
14 years agoutil: Remove remote.h
Simon Wilkinson [Wed, 16 Mar 2011 17:42:59 +0000 (17:42 +0000)]
util: Remove remote.h

remote.h is no longer used anywhere within the tree, and defines an
interface that has never been provided by OpenAFS. Remove it.

Change-Id: Id1007364f073c3bc2751491df371f51a37059381
Reviewed-on: http://gerrit.openafs.org/4249
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agorpms: Make makesrpm.pl cater for new rpm names
Simon Wilkinson [Thu, 17 Mar 2011 19:28:23 +0000 (19:28 +0000)]
rpms: Make makesrpm.pl cater for new rpm names

Starting from 1.6.0, our specfile no longer adds a stray '1.' to the
start of the release field. makesrpm.pl was failing to deal with
these new-style names and therefore not actually making an rpm.

Fix this by conditionalising on the OpenAFS version when selecting
which rpm to copy.

Change-Id: I36b32ccc20baa167f46e5095eacb38a8e7d65e27
Cc: Alexander Redinger <aredinger@sinenomine.net>
Reviewed-on: http://gerrit.openafs.org/4258
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agomacos: kernel socket upcall
Derrick Brashear [Wed, 16 Mar 2011 05:06:43 +0000 (01:06 -0400)]
macos: kernel socket upcall

support kernel socket upcall instead of listener env

Change-Id: I1b66ce0877053700cd894f47017596fbe07e7384
Reviewed-on: http://gerrit.openafs.org/4239
Tested-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoutil: Remove packages.h
Simon Wilkinson [Wed, 16 Mar 2011 17:16:31 +0000 (17:16 +0000)]
util: Remove packages.h

packages.h is unused within our tree, and contains nothing of any
use to out of tree callers (it attempts to define bases for error
codes, which has been superceded by our use of comerr)

So, remove it.

Change-Id: I22f2d3fba6ff960f00757c69f6beb5e7f25f9bba
Reviewed-on: http://gerrit.openafs.org/4248
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
14 years agorpms: Use new CellServDB
Simon Wilkinson [Thu, 17 Mar 2011 19:14:39 +0000 (19:14 +0000)]
rpms: Use new CellServDB

Update the CellservDB referenced by the spec file to the latest one
from grand.central.org

Change-Id: I315419b45c124908a262420cd9bd3876fe0ba308
Reviewed-on: http://gerrit.openafs.org/4257
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoutil: Remove itc.h
Simon Wilkinson [Wed, 16 Mar 2011 15:37:47 +0000 (15:37 +0000)]
util: Remove itc.h

The itc.h header is never installed, or used in the OpenAFS tree.
Remove it.

Change-Id: Ia01f0f5353bc019c3fd0c311b2c7cfc157dca2dd
Reviewed-on: http://gerrit.openafs.org/4247
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoviced: Actually print client CPS
Andrew Deason [Thu, 17 Mar 2011 15:43:23 +0000 (10:43 -0500)]
viced: Actually print client CPS

Client CPS was not getting output on SIGXCPU like the rest of the
client information, since the conditional in the CPS loop was never
true. Fix this so we traverse the CPS entries correctly.

Change-Id: Ic3434000fbf90e96665779f21811bffcc3a19b45
Reviewed-on: http://gerrit.openafs.org/4256
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoutil: Remove isathing
Simon Wilkinson [Wed, 16 Mar 2011 15:34:54 +0000 (15:34 +0000)]
util: Remove isathing

isathing.c only provided one function - util_isint, whose behaviour
can be far better provided by careful application of strtol.
Simplify our world a little by removing the file.

Change-Id: I6a8460daaec092d4916d4a46e04df01d0dfc7ccc
Reviewed-on: http://gerrit.openafs.org/4246
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
14 years agokauth: Use strtol for integer argument handling
Simon Wilkinson [Wed, 16 Mar 2011 15:31:40 +0000 (15:31 +0000)]
kauth: Use strtol for integer argument handling

Use strtol, rather than a combination of util_isint and atoi to
handle integer arguments. This is much cleaner, far more portable,
and removes a dependency on an internal library function that this
file is the only user of.

Change-Id: I3140a396ae3ec32e4498f62769f27c76f03001d9
Reviewed-on: http://gerrit.openafs.org/4245
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoosx: decode-panic should work in add-kext only land
Derrick Brashear [Thu, 17 Mar 2011 05:25:35 +0000 (01:25 -0400)]
osx: decode-panic should work in add-kext only land

in 64 bit 10.6, you need add-kext (not add-symbol-file)
to decode a panic. deal accordingly

Change-Id: I40f3c40150b98be2d80881ee56f8f8e33c92bc0f
Reviewed-on: http://gerrit.openafs.org/4255
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoosx: prefs pane should properly detect version
Derrick Brashear [Thu, 17 Mar 2011 04:11:43 +0000 (00:11 -0400)]
osx: prefs pane should properly detect version

we use "new" afs conf after 1.4.6 or 1.5.36. detect correctly

Change-Id: I7ae0005f7f1ca3a3164d12fab38e6d4da5c85168
Reviewed-on: http://gerrit.openafs.org/4254
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoThrow the compiler a bone ...
Simon Wilkinson [Tue, 15 Mar 2011 21:48:43 +0000 (21:48 +0000)]
Throw the compiler a bone ...

... failing that, a semi colon.

Reviewed-on: http://gerrit.openafs.org/4234
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit ffdc040d560a461abd59602ad62ba2fbf150227f)

Change-Id: I6dc924df277da7e650d6ae26f8520b23be10db3e
Reviewed-on: http://gerrit.openafs.org/4235
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoThrow the compiler a bone ...
Simon Wilkinson [Tue, 15 Mar 2011 21:48:43 +0000 (21:48 +0000)]
Throw the compiler a bone ...

... failing that, a semi colon.

Change-Id: I39cf03f16f5faaf32e8335ea6453e76b0d1c67ef
Reviewed-on: http://gerrit.openafs.org/4234
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agomacos: dont want bind 8 compat on leopard
Derrick Brashear [Tue, 15 Mar 2011 03:36:45 +0000 (23:36 -0400)]
macos: dont want bind 8 compat on leopard

we removed it for i386, kill it for ppc also.

Change-Id: I1c91a138ecbec9c25a9734f5a5bcdc1d08469404
Reviewed-on: http://gerrit.openafs.org/4229
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: permit code signing without timestamps
Jeffrey Altman [Mon, 29 Nov 2010 22:47:10 +0000 (17:47 -0500)]
Windows: permit code signing without timestamps

If CODESIGN_TIMESTAMP is not defined, permit code signing
to occur but do not ask signtool to contact a timestamp
server.

Change-Id: Iaac89f8db96c9428481a638fc72f8d14c53e2045
Reviewed-on: http://gerrit.openafs.org/3393
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-on: http://gerrit.openafs.org/4231

14 years agoWindows: Add CODESIGN_OTHER option to make signtool rules
Jeffrey Altman [Thu, 18 Nov 2010 02:42:00 +0000 (21:42 -0500)]
Windows: Add CODESIGN_OTHER option to make signtool rules

Some organizations may need to pass additional parameters to
signtool.exe.  Add the optional CODESIGN_OTHER value to permit
arbitrary additional parameters to be specified.

Change-Id: I225a790e04d8aa1298bbf03a9559ae0b5e63a70d
Reviewed-on: http://gerrit.openafs.org/3322
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-on: http://gerrit.openafs.org/4230

14 years agoLinux: Fix return codes from setpag
Simon Wilkinson [Tue, 15 Mar 2011 00:45:45 +0000 (00:45 +0000)]
Linux: Fix return codes from setpag

Linux is a real stickler when it comes to error codes. Functions
which return positive error codes into the kernel tend to have
unfortunate effects. Because all AFS errors tend to be positive,
most of our kernel entry points negate errors before passing them
back to their caller.

This causes problems when internal functions themselves return
negative error codes. This was the case with the keyring functions,
which ended up returning a negative code to setpag(), this handed
that code ultimately up to the ioctl handler, which negated it (so
turning it positive) before throwing it up to the kernel.

The kernel sees this positive value as being a successful return,
and so passes it direct to userland, rather than assigning it to
errno. This led to the setpag() userspace function never being
aware of keyring errors that had occurred in the kernel.

Fix all this by making sure that all errors from the keyring code
are made positive before being passed upwards in the kernel module.

Reviewed-on: http://gerrit.openafs.org/4223
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
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>
(cherry picked from commit 3d92852ba99bc7591515992dfea3436d93c23b85)

Change-Id: I72177ad2ee6d0a2c2c3f6d6819289a761b2712f0
Reviewed-on: http://gerrit.openafs.org/4226
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoRevert "Linux: normalize error return for emulated syscalls"
Simon Wilkinson [Tue, 15 Mar 2011 00:06:19 +0000 (00:06 +0000)]
Revert "Linux: normalize error return for emulated syscalls"

This reverts commit 0bc837f68a72ba1f75d940cc5dd057774d9f36bb.

Sadly, this change fixed setpag(), but broke all of the pioctls. The
problem is actually a little more nuanced than we at first thought.
What's happening is yet another case of Linux's special handling of
negative return values. When an ioctl handler returns a negative
return code to the kernel, it does errno = -code, and sets the
return code to -1. If you pass it a postive return code, however,
it just returns that straight to the application.

The pioctl code gets this right. However, the setpag code doesn't,
and so tries to return postive values, which is why ioctl appears
to be returning the error code in the return value, not in the
errno.

Reviewed-on: http://gerrit.openafs.org/4222
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit ff2933a122ddf9421ebcacdc7e4ec5f44333f894)

Change-Id: Ibfb050552f8b2357e57139976e2bc42ce6187f4f
Reviewed-on: http://gerrit.openafs.org/4225
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: 1.6pre3 changes
Jeffrey Altman [Tue, 15 Mar 2011 02:55:26 +0000 (22:55 -0400)]
Windows: 1.6pre3 changes

Change-Id: Ia4d504c2f9478f88c219375b92cdcb203defddfc
Reviewed-on: http://gerrit.openafs.org/4228
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: 1.6pre3 changes
Jeffrey Altman [Tue, 15 Mar 2011 02:55:26 +0000 (22:55 -0400)]
Windows: 1.6pre3 changes

Change-Id: I87b1e29f26e1785fe7ab09c3641d7ad4281f9be8
Reviewed-on: http://gerrit.openafs.org/4227
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: mp target trailing dot not part vol name
Jeffrey Altman [Fri, 4 Mar 2011 16:04:40 +0000 (11:04 -0500)]
Windows: mp target trailing dot not part vol name

Instead of passing "root.cell." into cm_FreelanceAddMount
pass in "root.cell" and add the trailing dot within the function.

Reviewed-on: http://gerrit.openafs.org/4124
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit 0d1335ad7104a6fa67525b84d70a33e7bb1b6c6a)

Change-Id: I27b077c7fd9e8ea5cb67da96b5172d69623e1122
Reviewed-on: http://gerrit.openafs.org/4221
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: avoid use of cm_buf for MPs and Symlinks
Jeffrey Altman [Wed, 2 Mar 2011 19:06:48 +0000 (14:06 -0500)]
Windows: avoid use of cm_buf for MPs and Symlinks

In the Windows cache manager, the symlink and mount point
target strings are stored in the cm_scache_t mountPointString
and are not accessed out of the cm_buf_t for offset zero
except when populating the mountPointString.  As a result,
every mountpoint and symlink object that is read into the cache
wastes a cm_buf_t which could otherwise be used to store
additional file or directory data.

Add cm_GetData() function which is similar to cm_GetBuffer()
except that it reads data from the file server into an arbitray
memory location instead of a cm_buf_t object.  Use cm_GetData()
to read directly into the cm_scache_t object.

In addition, further optimize the communication with the
file server by using cm_GetData() to perform a RXAFS_FetchData
RPC to obtain both the target string and the status information
instead of RXAFS_FetchStatus which only returns the status
information in cases where there are no outstanding callback
registrations on the object.  RXAFS_FetchStatus is still used
when a callback is active in order to obtain access permissions
for new users.

Reviewed-on: http://gerrit.openafs.org/4111
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit dec0ba1cfaf7dd6a4ed23a2f656bd6272600d51c)

Change-Id: I2ffa85193ffeb35c9558224985ba7485ec617712
Reviewed-on: http://gerrit.openafs.org/4220
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoLinux: Fix return codes from setpag
Simon Wilkinson [Tue, 15 Mar 2011 00:45:45 +0000 (00:45 +0000)]
Linux: Fix return codes from setpag

Linux is a real stickler when it comes to error codes. Functions
which return positive error codes into the kernel tend to have
unfortunate effects. Because all AFS errors tend to be positive,
most of our kernel entry points negate errors before passing them
back to their caller.

This causes problems when internal functions themselves return
negative error codes. This was the case with the keyring functions,
which ended up returning a negative code to setpag(), this handed
that code ultimately up to the ioctl handler, which negated it (so
turning it positive) before throwing it up to the kernel.

The kernel sees this positive value as being a successful return,
and so passes it direct to userland, rather than assigning it to
errno. This led to the setpag() userspace function never being
aware of keyring errors that had occurred in the kernel.

Fix all this by making sure that all errors from the keyring code
are made positive before being passed upwards in the kernel module.

Change-Id: I31eeaf9a4819dc47052ea0ff3070bdaaf22f1f66
Reviewed-on: http://gerrit.openafs.org/4223
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
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>
14 years agoRevert "Linux: normalize error return for emulated syscalls"
Simon Wilkinson [Tue, 15 Mar 2011 00:06:19 +0000 (00:06 +0000)]
Revert "Linux: normalize error return for emulated syscalls"

This reverts commit 0bc837f68a72ba1f75d940cc5dd057774d9f36bb.

Sadly, this change fixed setpag(), but broke all of the pioctls. The
problem is actually a little more nuanced than we at first thought.
What's happening is yet another case of Linux's special handling of
negative return values. When an ioctl handler returns a negative
return code to the kernel, it does errno = -code, and sets the
return code to -1. If you pass it a postive return code, however,
it just returns that straight to the application.

The pioctl code gets this right. However, the setpag code doesn't,
and so tries to return postive values, which is why ioctl appears
to be returning the error code in the return value, not in the
errno.

Change-Id: I192ff45ad15b72a493a3c9c98546b026761dd95f
Reviewed-on: http://gerrit.openafs.org/4222
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Marc Dionne <marc.c.dionne@gmail.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoauth: Use the UserListFileName function more
Simon Wilkinson [Sun, 13 Mar 2011 17:13:49 +0000 (17:13 +0000)]
auth: Use the UserListFileName function more

The function UserListFileName exists to abstract the process of
producing a full pathname for the userlist. Modify the rest of
userok.c so that it uses it.

Change-Id: Iac90e159dd8dc8344943e424615bf2aba1b31db3
Reviewed-on: http://gerrit.openafs.org/4215
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoauth: Refactor CellServDB path creation
Simon Wilkinson [Sun, 13 Mar 2011 16:54:34 +0000 (16:54 +0000)]
auth: Refactor CellServDB path creation

Move all of the duplicated code that does CellServDB path creation
into a common function. Use asprintf(), rather than strcompose in
this function so we're using fewer fixed length buffers.

Change-Id: I47ce92b97674bb09b5804ff5631fa47a21800902
Reviewed-on: http://gerrit.openafs.org/4214
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoroken: Export rk_asprintf on Windows
Simon Wilkinson [Sun, 13 Mar 2011 21:47:43 +0000 (21:47 +0000)]
roken: Export rk_asprintf on Windows

Add rk_asprintf to the Windows roken export lists

Change-Id: Ie12c245aa2bf45fcbcfa5474e1dfaf3c32036bb4
Reviewed-on: http://gerrit.openafs.org/4216
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoreadme typos
Michael Meffie [Mon, 14 Mar 2011 14:15:35 +0000 (10:15 -0400)]
readme typos

Fix two typos in README.

Reviewed-on: http://gerrit.openafs.org/4218
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit ba67ef96bb5216ecb03d656af22b3b7f7542efef)

Change-Id: Id202785ee2568bd625c1e781574d21dae3488982
Reviewed-on: http://gerrit.openafs.org/4219
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoreadme typos
Michael Meffie [Mon, 14 Mar 2011 14:15:35 +0000 (10:15 -0400)]
readme typos

Fix two typos in README.

Change-Id: Icd03d015d5d08a26640e12eceb8185fa36087753
Reviewed-on: http://gerrit.openafs.org/4218
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agopt_util: Initialise empty database correctly
Simon Wilkinson [Sun, 13 Mar 2011 14:45:04 +0000 (14:45 +0000)]
pt_util: Initialise empty database correctly

Commit dc8f18d6f5003712bc9ef989363137a84953df07 broke pt_util's
initialisation of empty databases. This is because Initdb was changed
to call Initdb_check through the ubik_CheckCache wrapper. However, that
wrapper was defined as a no-op in pt_util's ubik-shim.

Modify pt_util's ubik_CheckCache so that it always calls into the
wrapper routine - this mimics the old behaviour.

Add a trival test for pt_util - check that we can build the database,
using the example from the manpage, and then that the built database
matches what we expect.

(cherry picked from commit 4953ce8070497bc494e624d72271bcbc5dc1dbe7)
Reviewed-on: http://gerrit.openafs.org/4211
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Change-Id: If4cfbda25f8d1c5e1da4c1e42982c74becf386e3
Reviewed-on: http://gerrit.openafs.org/4217
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoauth: Rework afsconf_UpToDate to use CellServDB
Simon Wilkinson [Sat, 5 Mar 2011 23:09:18 +0000 (23:09 +0000)]
auth: Rework afsconf_UpToDate to use CellServDB

Rework the afsconf_UpToDate check so that it uses the modifcation of
the CellServDB, and not the KeyFile to determine whether the
configuration information has been changed under us or not. afsconf
defines the CellServDB as being the single sentinel for a config
directory being changed, and our tools are careful to always touch
the CellServDB when updating anything else there.

Also, rework the _afsconf_Check() code so that it uses afsconf_UpToDate,
rather than including this logic twice.

Change-Id: I8ef5f67afbb5982bb25e12407ea5dc5dc1512840
Reviewed-on: http://gerrit.openafs.org/4203
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agotests: Fix KeyFile test so it works from harness
Simon Wilkinson [Sun, 13 Mar 2011 15:47:36 +0000 (15:47 +0000)]
tests: Fix KeyFile test so it works from harness

The auth/keys test tries to find a file that's distributed as part
of the test suite. However, it currently only looks in the CWD to
find it. Modify the test so that if it's run from the test harness,
it will use the harnesses SOURCE environment variable to locate the
KeyFile

Change-Id: I93e16a01eae79b38ab01c81a57d2a47c28479b27
Reviewed-on: http://gerrit.openafs.org/4213
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agotests: Fix the authcon test to avoid pthread errors
Simon Wilkinson [Sun, 13 Mar 2011 15:45:37 +0000 (15:45 +0000)]
tests: Fix the authcon test to avoid pthread errors

Fix the authcon test so that it avoids pthread errors by
initialising rx before calling into any of the rxkad routines.

Change-Id: I175203fd91660e27a8b468e6f1c6189f32b22259
Reviewed-on: http://gerrit.openafs.org/4212
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agopt_util: Initialise empty database correctly
Simon Wilkinson [Sun, 13 Mar 2011 14:45:04 +0000 (14:45 +0000)]
pt_util: Initialise empty database correctly

Commit dc8f18d6f5003712bc9ef989363137a84953df07 broke pt_util's
initialisation of empty databases. This is because Initdb was changed
to call Initdb_check through the ubik_CheckCache wrapper. However, that
wrapper was defined as a no-op in pt_util's ubik-shim.

Modify pt_util's ubik_CheckCache so that it always calls into the
wrapper routine - this mimics the old behaviour.

Add a trival test for pt_util - check that we can build the database,
using the example from the manpage, and then that the built database
matches what we expect.

Change-Id: I41aa9f6a531662230ed625cc3b1307016ef4107f
Reviewed-on: http://gerrit.openafs.org/4211
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoDOC: pt_util now outputs ntohl'd epoch and version
Simon Wilkinson [Sun, 13 Mar 2011 12:56:57 +0000 (12:56 +0000)]
DOC: pt_util now outputs ntohl'd epoch and version

Commit 87e959e87df52e026ffcb2de8ecfcbf4889f7bd8 fixed pt_util so
that the epoch and version is correctly byte-swapped on little
endian systems.

Remove the warning about this from the manpage as it is no longer
relevant.

Change-Id: Ic54223b0a8812825a1b7a8d2b8ee1b0c51ecea05
Reviewed-on: http://gerrit.openafs.org/4210
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agocrypto: Add krb5_crypto_fx_cf2 to our prototypes
Simon Wilkinson [Mon, 7 Mar 2011 17:23:51 +0000 (17:23 +0000)]
crypto: Add krb5_crypto_fx_cf2 to our prototypes

Admit to having the krb5_crypto_fx_cf2 function in the kernel RFC3961
implementation - we're going to use it for for key combining

Change-Id: Ibb11a4d7467bc18eb222d5f8902dc4181b30e92c
Reviewed-on: http://gerrit.openafs.org/4204
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoubik: Allow servers to have more than 3 seclayers
Simon Wilkinson [Fri, 4 Mar 2011 22:57:15 +0000 (22:57 +0000)]
ubik: Allow servers to have more than 3 seclayers

ubik has traditionally used the afsconf_ServerAuth function to
fill in a single field in a pre-allocated list of security classes.
This meant that we could never have a class with an index higher
than 2 (rxkad). Setting the function to call, and the rock to that
function was also accomplished by playing with global variables.

Rework this so that a new function is used to set the security
classes, which can allocate an arbitrary sized array of classes.
Move the setting of this function, and of the authentication check
function into ubik_SetServerSecurityProcs()

Change-Id: I7cde73b05db4d51403469e2bead1d99d5ae88043
Reviewed-on: http://gerrit.openafs.org/4202
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoafsconf: Rework security flags
Simon Wilkinson [Fri, 4 Mar 2011 22:37:10 +0000 (22:37 +0000)]
afsconf: Rework security flags

BuildServerSecurityObjects takes a set of flags, which makes it
hard to use it as a callback function. Rework this so that the
security flags are part of the afsconf directory structure, and
so BuildServerSecurityObjects only takes a rock, and its return
parameters.

Update all of the callers for this new function, and add tests
for it to the test suite.

Change-Id: I48219ed199d128c6aec3765ca425bda9e464b937
Reviewed-on: http://gerrit.openafs.org/4201
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoubik: Remove dependency on auth
Simon Wilkinson [Fri, 4 Mar 2011 12:12:24 +0000 (12:12 +0000)]
ubik: Remove dependency on auth

When commit 8a09c220f4c5f881ea45be585b07b793038924d5 added support
for token error recovery to ubik, it introduced a dependency on
afsconf. This breaks the abstraction layer that had been in place, by
requiring that the SecurityRock be an afsconf_dir (if you use a
different rock, ubik will segfault)

This change reinstates the abstraction layer, by requiring Ubik
users who want token error checking to specify a procedure that can
be used to check whether tokens are up to date. Instead of yet
another global variable, we replace the existing CRXSecurity*
variables with a single function that can be used to set security proc,
token checking proc, and rock.

Change-Id: I9036cf712f02610ed2e906602d3416436f69e98b
Reviewed-on: http://gerrit.openafs.org/4200
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: conditionally set tray icon state
Jeffrey Altman [Fri, 19 Nov 2010 05:07:36 +0000 (00:07 -0500)]
Windows: conditionally set tray icon state

If the checkbox IDC_TRAYICON is not present in the dialog,
do not attempt to use its value as a setting for
Config_SetTrayIconFlag().

FIXES 128591

Change-Id: Iff5ef4993f082e73cca93e79d17f49cc15b6264f
Reviewed-on: http://gerrit.openafs.org/3331
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-on: http://gerrit.openafs.org/4207

14 years agomake openafs 1.6.0pre3
Derrick Brashear [Fri, 11 Mar 2011 13:27:24 +0000 (08:27 -0500)]
make openafs 1.6.0pre3

create version 1.6.0pre3 in the various bits we need it

Change-Id: Ia5768d097b1f4fa0df911db6d9d094584405c4db
Reviewed-on: http://gerrit.openafs.org/4205
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agosolaris: fix typo in the solaris 11 startup script
Chas Williams (CONTRACTOR) [Fri, 11 Mar 2011 18:33:50 +0000 (13:33 -0500)]
solaris: fix typo in the solaris 11 startup script

/etc/devlink.tab not /dev/devlink.tab

Reviewed-on: http://gerrit.openafs.org/4206
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 7e68671f6acf66b568672d94b37ef456b1de8813)

Change-Id: I88f9ae47fcbb2878cc099fe783c72c32cc0b4a92
Reviewed-on: http://gerrit.openafs.org/4208
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agosolaris: fix typo in the solaris 11 startup script
Chas Williams (CONTRACTOR) [Fri, 11 Mar 2011 18:33:50 +0000 (13:33 -0500)]
solaris: fix typo in the solaris 11 startup script

/etc/devlink.tab not /dev/devlink.tab

Change-Id: Ib562156861c2eab86504d6a37e18bc9af92a007c
Reviewed-on: http://gerrit.openafs.org/4206
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agosalvager: Do not abort on large volume IDs
Andrew Deason [Thu, 10 Mar 2011 20:55:50 +0000 (14:55 -0600)]
salvager: Do not abort on large volume IDs

The salvager was parsing volume IDs just using atoi() and checking if
the result was negative. Since the result is a signed int, this fails
on any volume ID larger than 2^31-1. Change the parser to use strtoul
instead of atoi, and change the check.

While we're here, make a similar change to the DAFS salvageserver,
too.

Change-Id: Icc3377ee507150ff0c53b5bbff6172cb72bca703
Reviewed-on: http://gerrit.openafs.org/4196
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoSOLARIS: Free vcache mappings on shutdown
Andrew Deason [Tue, 7 Dec 2010 16:50:31 +0000 (10:50 -0600)]
SOLARIS: Free vcache mappings on shutdown

Right before shutdown, go through all of our vcaches and flush them,
freeing any pages associated with the vcaches. If we don't do this,
pages associated with our vcaches may still be around after we
shutdown and the module is unloaded, causing a panic when the kernel
tries to deference the page's vnode.

Abstract out afs_freevfs() following the gafs_foo/afs_foo convention
from the vnode ops, since we're calling this in two different places.

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

Change-Id: I809d10d2eceb7d0db92b3d149b13de0dc9221958
Reviewed-on: http://gerrit.openafs.org/4194
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
14 years agoDon't use KERN_OPTMZ or KERN_DBG on Linux 2.6
Simon Wilkinson [Sun, 6 Mar 2011 17:22:14 +0000 (17:22 +0000)]
Don't use KERN_OPTMZ or KERN_DBG on Linux 2.6

With 2.6 Linux kernels, we just use the standard Kernel build system.
As this system pays no attention to our settings of KERN_OPTMZ or
KERN_DBG, don't bother setting values for these for 2.6 kernels.

Change-Id: Ibb2302d63ecf3e32a24321028df6a9aad45769fc
Reviewed-on: http://gerrit.openafs.org/4173
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoRemove -D_LARGEFILE64_SOURCE on Linux
Simon Wilkinson [Sun, 6 Mar 2011 17:15:05 +0000 (17:15 +0000)]
Remove -D_LARGEFILE64_SOURCE on Linux

Since 129b6954a6f491c6f3c3e417055bdc68d4726408, we've defined
GNU_SOURCE on all Linux builds. This definition automatically sets
_LARGEFILE64_SOURCE for us, so we don't need to explicitly set it
in the platform specific configuration.

Change-Id: I3d60a1eacbb045cdac283d9fe38261154740ef1b
Reviewed-on: http://gerrit.openafs.org/4172
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoRemove redundant entries from MT_CFLAGS
Simon Wilkinson [Thu, 10 Mar 2011 00:20:26 +0000 (00:20 +0000)]
Remove redundant entries from MT_CFLAGS

Don't include XCFLAGS in MT_CFLAGS, as this is now done elsewhere in
the build process. Don't multiply specify -DAFS_PTHREAD_ENV, as all
pthreaded build rules must defined this, and just doing so in one
place is much cleaner.

Change-Id: I2cc1f88119e9ad32151cb7575222c2d2c008005f
Reviewed-on: http://gerrit.openafs.org/4190
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agohcrypto: don't redefine key_type
Simon Wilkinson [Thu, 10 Mar 2011 10:41:57 +0000 (10:41 +0000)]
hcrypto: don't redefine key_type

Linux's keyring code uses "struct key_type", which is also used
internally by the hcrypto code. As, on some Linux variants,
afs/sysincludes.h ends up including the keyring definitions, we
need to rename our internal key_type definition to something
that doesn't clash.

Change-Id: Ibfb968db0db3e80d877881fc6da4b34428ee382f
Reviewed-on: http://gerrit.openafs.org/4192
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Tested-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoRevert "hcrypto: avoid key_type redefinition"
Simon Wilkinson [Thu, 10 Mar 2011 09:43:35 +0000 (09:43 +0000)]
Revert "hcrypto: avoid key_type redefinition"

This reverts commit 81487fcf3ae93d2efea6f0935a0493680b5d3d11.

This change didn't receive sufficient review before it was pushed.
It breaks builds on IRIX, and produces kernel modules that don't
load on a number of other Linux-based systems.

A correct fix for the underlying problem (that both Linux and
hcrypto want to use the "struct key_type" identifier) will follow
this patch.

Change-Id: Ib215f9d8adde75180a86f985052c77600a294895
Reviewed-on: http://gerrit.openafs.org/4191
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
14 years agolinux: defer vcache evictions when sleep would be needed
Derrick Brashear [Thu, 17 Feb 2011 05:04:06 +0000 (00:04 -0500)]
linux: defer vcache evictions when sleep would be needed

because we're only willing to loop 100 times worth of "sleeps",
on a machine with heavy vcache demands we can end up just growing
the list huge. in the first pass, just clean up as many entries which
do not require sleeping as needed. if we need more entries, make
a second pass.

Reviewed-on: http://gerrit.openafs.org/3971
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 3105c7ff0b4ae9c372dc4c1424f63b7f259dcda1)

Change-Id: Iced11ca56ced5971ab0cb8dbb65d275754ec33d5
Reviewed-on: http://gerrit.openafs.org/4186
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: handle rx busy call channel
Jeffrey Altman [Wed, 9 Mar 2011 12:51:02 +0000 (07:51 -0500)]
Windows: handle rx busy call channel

Register an error code for rx busy call channel detection.
Force a retry whenever CM_RX_BUSY_CALL_CHANNEL is received
by cm_Analyze().  Log the event to both the internal trace
log and the Windows Event Log along with the server address.

Reviewed-on: http://gerrit.openafs.org/4183
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit 75c2f96364d598ec0c134cb6b366ce067b8b7f49)

Change-Id: I932c3d1fdb89f697347c0acc06dc628b3b6175da
Reviewed-on: http://gerrit.openafs.org/4185
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agolinux: defer vcache evictions when sleep would be needed
Derrick Brashear [Thu, 17 Feb 2011 05:04:06 +0000 (00:04 -0500)]
linux: defer vcache evictions when sleep would be needed

because we're only willing to loop 100 times worth of "sleeps",
on a machine with heavy vcache demands we can end up just growing
the list huge. in the first pass, just clean up as many entries which
do not require sleeping as needed. if we need more entries, make
a second pass.

Change-Id: Ie5af42e7c0287d7a093f9a5884c10813dbb8cb11
Reviewed-on: http://gerrit.openafs.org/3971
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agorpm: fix ChangeLog filename in doc rpm
Michael Meffie [Fri, 4 Mar 2011 01:22:54 +0000 (20:22 -0500)]
rpm: fix ChangeLog filename in doc rpm

Fix an rpmbuild error introduced in commit 8d157961.

(cherry picked from commit 8f8522e457eb7703f85da3a193134c50bcd8b6cf)

Change-Id: I69b402b1a31bfa1b5e5a14a3a86bc0d3fab7f842
Reviewed-on: http://gerrit.openafs.org/4184
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: handle rx busy call channel
Jeffrey Altman [Wed, 9 Mar 2011 12:51:02 +0000 (07:51 -0500)]
Windows: handle rx busy call channel

Register an error code for rx busy call channel detection.
Force a retry whenever CM_RX_BUSY_CALL_CHANNEL is received
by cm_Analyze().  Log the event to both the internal trace
log and the Windows Event Log along with the server address.

Change-Id: I196fb99d38bb89f57f296fd1b60d2a7f17fec80c
Reviewed-on: http://gerrit.openafs.org/4183
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
14 years agoRX: Avoid timing out non-kernel busy channels
Andrew Deason [Mon, 7 Mar 2011 17:08:26 +0000 (11:08 -0600)]
RX: Avoid timing out non-kernel busy channels

When we encounter a "busy" call channel (indicated by receiving
RX_PACKET_TYPE_BUSY packets), we can error out a call with
RX_CALL_TIMEOUT to try and get the application code to retry the call.
However, many RX applications are not aware of this, and will just
fail with an error upon receiving a single busy packet.

So instead, make this behavior optional, and only do it if the
application tells us what specific error it expects to receive when a
busy call channel is detected. Enable this behavior for the Unix cache
manager, as it can cope with receiving an RX_CALL_TIMEOUT error in
this scenario.

Bump shlibafsrpc minor version to 5 instead of 3, so we don't collide
with the shlibafsrpc versions on the master branch.

Reviewed-on: http://gerrit.openafs.org/4159
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit eddcee3ad518dff9fbfda790640c5bfd2e97ef5a)

Change-Id: I38981ad3e3c2cbb03c516c02481a2f44cb5f9acf
Reviewed-on: http://gerrit.openafs.org/4182
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoRX: Avoid timing out non-kernel busy channels
Andrew Deason [Mon, 7 Mar 2011 17:08:26 +0000 (11:08 -0600)]
RX: Avoid timing out non-kernel busy channels

When we encounter a "busy" call channel (indicated by receiving
RX_PACKET_TYPE_BUSY packets), we can error out a call with
RX_CALL_TIMEOUT to try and get the application code to retry the call.
However, many RX applications are not aware of this, and will just
fail with an error upon receiving a single busy packet.

So instead, make this behavior optional, and only do it if the
application tells us what specific error it expects to receive when a
busy call channel is detected. Enable this behavior for the Unix cache
manager, as it can cope with receiving an RX_CALL_TIMEOUT error in
this scenario.

Change-Id: I2fe03c0ff81576da3b2ce2b4d27a16d5631c073e
Reviewed-on: http://gerrit.openafs.org/4159
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoaklog: Do not include XCFLAGS twice
Andrew Deason [Wed, 16 Feb 2011 03:23:06 +0000 (21:23 -0600)]
aklog: Do not include XCFLAGS twice

In aklog, we set MODULE_CFLAGS to XCFLAGS and some other things.
However, when using AFS_LDRULE or AFS_CCRULE, CFLAGS will contain
MT_CFLAGS, which contains XCFLAGS. The end result is that the contents
of XCFLAGS appear twice in the compilation invocation, breaking some
platforms like HP-UX where the order of XCFLAGS relative to other
things is a bit fragile.

Fix this by removing XCFLAGS from the MODULE_CFLAGS definition.

Change-Id: I5eef9764d758885a995269edc5bef91ff06db8b5
Reviewed-on: http://gerrit.openafs.org/3960
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agovol: FILE* to FD_t except logging and special ops
Jeffrey Altman [Sat, 5 Mar 2011 19:34:05 +0000 (14:34 -0500)]
vol: FILE* to FD_t except logging and special ops

Replace all use of FILE* with FD_t.  Switch from afs_open to OS_OPEN.
In the process:

 afs_flush and afs_fsync -> OS_SYNC
 afs_stat which is used to obtain the file size -> OS_SIZE
 afs_close or close -> OS_CLOSE

Etc.   While cleaning up, use afs_stat_st macro when declaring
a struct stat because the structure and function are not guaranteed
to be the same name on all platforms.

These changes permit Windows to build the vol package without
the use of the C runtime library.

Change-Id: I9e0a7fdbeffa76c3c87aefce87ca1af495657a2f
Reviewed-on: http://gerrit.openafs.org/4149
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agovol: consolide afs_xxxx macros in ihandle.h
Jeffrey Altman [Sat, 5 Mar 2011 19:25:34 +0000 (14:25 -0500)]
vol: consolide afs_xxxx macros in ihandle.h

Various definitions of afs_open, afs_stat, etc. were
scattered across the .c sources within the vol package.
Consolidate them all in ihandle.h which is included in
all of the files and contains the OS_xxxx macros which
will substitute for many afs_xxxx calls in future patchsets.

Change-Id: I72363332fd5f1d330e225df51c68d4c113b59f3b
Reviewed-on: http://gerrit.openafs.org/4147
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoClarify the role of XCFLAGS and simplify MT_CFLAGS
Simon Wilkinson [Fri, 11 Feb 2011 11:53:26 +0000 (11:53 +0000)]
Clarify the role of XCFLAGS and simplify MT_CFLAGS

Tidy up the build system by making it clear that XCFLAGS is included
for every build type. Also clean up MT_CFLAGS so that it doesn't
statically include XCFLAGS, and remove the common AFS_PTHREAD_ENV
define that's needed by every architecture.

This fixes the problem that we had where directories built with the
pthread or shared build rules weren't being compiled with checking
enabled, as well as hopefully making the tangle of defines easier to
understand.

Change-Id: Ied6dd316147ee88dc7814f8937a204ef32c6c5e0
Reviewed-on: http://gerrit.openafs.org/4171
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agolibadmin: minor warning fix
Marc Dionne [Mon, 7 Mar 2011 20:31:53 +0000 (15:31 -0500)]
libadmin: minor warning fix

have_quota is set but never used.  Remove it.

Change-Id: I2428ec274a3e3ad792608ae3a6d0b1af7985c6e8
Reviewed-on: http://gerrit.openafs.org/4177
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
14 years agohcrypto: avoid key_type redefinition
Derrick Brashear [Tue, 8 Mar 2011 02:32:53 +0000 (21:32 -0500)]
hcrypto: avoid key_type redefinition

struct key_type is redefined in crypto.h; originally defined in
./linux/security.h from ../afs/sysincludes.h from hcrypto/kernel/config.h

Change-Id: Ib2a4244516c6c0947cb0959bdf9b06fb5a023a28
Reviewed-on: http://gerrit.openafs.org/4178
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agovol: Check for blank vnode in VAllocVnode_r
Andrew Deason [Fri, 25 Feb 2011 22:58:30 +0000 (16:58 -0600)]
vol: Check for blank vnode in VAllocVnode_r

When we alloc a vnode in VAllocVnode_r, we look up that vnode in the
vnode cache, to see if a vnode struct already exists for it. If it
doesn't, we check the vnode index to ensure that the vnode actually is
not in use (among other things). However, we do not perform the same
check for a vnode already in the cache. Add this check, to make sure
that we don't allocate an already-used vnode number, even if the
bitmap is screwed up.

Reviewed-on: http://gerrit.openafs.org/4060
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 974e95302a312c03cd735c0fdaa67fb02d254e26)

Change-Id: Ie75dc32c2a2c1ff05a96a1a14650e41ada07609d
Reviewed-on: http://gerrit.openafs.org/4170
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoDAFS: VnLock after VnWaitQuiescent in VAllocVnode
Andrew Deason [Fri, 25 Feb 2011 22:01:32 +0000 (16:01 -0600)]
DAFS: VnLock after VnWaitQuiescent in VAllocVnode

In VAllocVnode, we write-lock the newly-allocated vnode. In DAFS,
however, we need to VnWaitQuiescent_r before VnLock'ing, since VnLock
in DAFS just sets the writer tid/pid. So, in VAllocVnode, move the
VnLock call to after we wait for quiescence, so we don't stomp over
the vnode when someone else has it write-locked.

Reviewed-on: http://gerrit.openafs.org/4059
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit b41575d176c2d485d55aed8780bfab9db4b7587d)

Change-Id: I6c3d68f0f5248308d0f32e9fad5c540aaf593962
Reviewed-on: http://gerrit.openafs.org/4169
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoDAFS: Wait for exclusive ops in VFreeBitMapEntry_r
Andrew Deason [Fri, 25 Feb 2011 20:43:09 +0000 (14:43 -0600)]
DAFS: Wait for exclusive ops in VFreeBitMapEntry_r

VAllocBitmapEntry_r puts the volume in an exclusive state and drops
VOL_LOCK when traversing the volume bitmap and updating the bitmap.
So, VFreeBitMapEntry_r must ensure the volume is not in an exclusive
state, to make sure that VAllocBitmapEntry_r is not updating the
bitmap at the same time. Do so, by waiting for the volume to come out
of exclusive state at the beginning of VFreeBitMapEntry_r.

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

Change-Id: I0336bbc543828237cb9ae97ede18133b4e15100a
Reviewed-on: http://gerrit.openafs.org/4168
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agovol-salvage: VOL_DONE deleted volumes
Andrew Deason [Wed, 2 Mar 2011 20:11:43 +0000 (14:11 -0600)]
vol-salvage: VOL_DONE deleted volumes

When the salvager deletes a volume (because it is an invalid RO clone,
or because there is no data associated with the volume), we should
inform the fileserver that the volume is gone. Otherwise, the volume
in the fileserver can get put into an error state (in DAFS) when it
tries to attach the volume, preventing anything from creating or using
that volume.

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

Change-Id: I4ec62d4c6b06678af6e8e499e9dafb2d0698c9ab
Reviewed-on: http://gerrit.openafs.org/4167
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoDAFS: Clear salvage stats on VOL_DONE
Andrew Deason [Wed, 2 Mar 2011 21:39:51 +0000 (15:39 -0600)]
DAFS: Clear salvage stats on VOL_DONE

When we VOL_DONE a volume, the volume has been deleted, so the salvage
stats/information are no longer relevant. Clear them out, so we don't
think the volume is still salvaging.

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

Change-Id: I1c7f61994b050de7bd8c0e7fc39df978a31530a6
Reviewed-on: http://gerrit.openafs.org/4166
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoDAFS: Allow LEAVE_OFF for DELETED volumes
Andrew Deason [Wed, 2 Mar 2011 21:02:40 +0000 (15:02 -0600)]
DAFS: Allow LEAVE_OFF for DELETED volumes

When a volume is VOL_STATE_DELETED, it effectively does not exist to
other programs over FSSYNC. So, do not prevent someone from issuing a
FSYNC_VOL_LEAVE_OFF for a VOL_STATE_DELETED volume.

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

Change-Id: I840930e144260036e2c96d83134a79dee3c9d083
Reviewed-on: http://gerrit.openafs.org/4165
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agovol-salvage: calloc volume summary structs
Andrew Deason [Wed, 2 Mar 2011 20:10:33 +0000 (14:10 -0600)]
vol-salvage: calloc volume summary structs

Calloc volume summary structs instead of malloc'ing them, in
vol-salvage.c. This way, new fields added to struct VolumeSummary will
be known to be zeroed by default, without needing to update all of the
allocating callers.

Reviewed-on: http://gerrit.openafs.org/4117
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit bb25fc6418bac937b31476754a09199636c24211)

Change-Id: I9533d4f841ebc64bdf49c145512471ebbb51136e
Reviewed-on: http://gerrit.openafs.org/4164
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agosalvager: Do not break cbks when salvaging parts
Andrew Deason [Wed, 29 Sep 2010 16:48:44 +0000 (11:48 -0500)]
salvager: Do not break cbks when salvaging parts

When salvaging whole partitions / whole servers, the fileserver is
assumed to not be running. So only break callbacks if we are salvaging
a single volume. If we are salvaging a whole partition, do not tell
the fileserver to break callbacks on changed volumes, since the
fileserver will not be around and we will just hang.

Reviewed-on: http://gerrit.openafs.org/2865
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit fabd590cc4b0142fe97c4ffa6a4669fe5d44c359)

Change-Id: I62eaa14c95ecce3dcd5fdde97f3a45f9103fc7bc
Reviewed-on: http://gerrit.openafs.org/4175
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoWindows: vol-salvage SalvInfo fixes
Andrew Deason [Thu, 19 Aug 2010 16:35:40 +0000 (11:35 -0500)]
Windows: vol-salvage SalvInfo fixes

Commit 3d7388b790ef21de552ec60d379764df067ae421 broke the windows
build. Fix it:

 - SVGParms_t has no salvinfo member, but an svgp_salvinfo member

 - Correct the SalvageVolumeGroup prototype to match the actual
   implementation

Reviewed-on: http://gerrit.openafs.org/2595
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 87dc2a312ac94bc0a8b809a8f879128be8d9c791)

Change-Id: I8fd13e683060ae4ae4818a03626e95680cc3e86d
Reviewed-on: http://gerrit.openafs.org/4176
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agovol-salvage: Move global vars into SalvInfo struct
Andrew Deason [Thu, 24 Jun 2010 20:45:05 +0000 (15:45 -0500)]
vol-salvage: Move global vars into SalvInfo struct

Reduce the number of globals used in the salvager code, by making
functions pass around a 'salvinfo' structure that contains the
information regarding a particular salvage.

Reviewed-on: http://gerrit.openafs.org/2250
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 3d7388b790ef21de552ec60d379764df067ae421)

Change-Id: I15137994806f0c753a42347c28cadcf48002b800
Reviewed-on: http://gerrit.openafs.org/4163
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoFix positional I/O support for largefiles
Ryan C. Underwood [Sun, 6 Mar 2011 10:40:53 +0000 (10:40 +0000)]
Fix positional I/O support for largefiles

Commit 335ccb40 introduced positional I/O support for the fileserver,
but didn't handle the largefile versions of preadv and pwritev. As a
result, the fileserver cannot handle files of more than 2Gb in size.

Fix this by using preadv64 and pwritev64 where O_LARGEFILE is defined,
in the same way as for all other I/O primitives.

Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-on: http://gerrit.openafs.org/4152
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit bbf406da30428a22b4a6d28a7d36dbb786013cfa)

Change-Id: I5d15097e4c9aa83444520628f484407d244ddf97
Reviewed-on: http://gerrit.openafs.org/4161
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoDisable vectored positional IO if no 64bit support
Simon Wilkinson [Sun, 6 Mar 2011 16:06:36 +0000 (16:06 +0000)]
Disable vectored positional IO if no 64bit support

In order to support vectored positional I/O, and large files, we
need there to be an implementation of preadv64 and pwritev64. If
this isn't present, then just disable HAVE_PIOV.

(cherry picked from commit 98a0c2f47b8641e3e31ed7d2f7d84c2eb484ef51)
Reviewed-on: http://gerrit.openafs.org/4153
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Change-Id: I4e199c748d7b88ff7076106b19c3dec0e60be39a
Reviewed-on: http://gerrit.openafs.org/4160
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoRevert "LWP: remove ucontext header from preempt module"
Andrew Deason [Mon, 28 Feb 2011 20:03:46 +0000 (14:03 -0600)]
Revert "LWP: remove ucontext header from preempt module"

This reverts commit fbac809a46376fcf60d3dcedc0be962c43d9c74e.

The ucontext header is only included in lwp.h for platforms that use
ucontext as a means for context-switching in LWP. The preempt module
needs the ucontext header for signal handling on some platforms (at
least Solaris). So, ucontext.h may not be included by lwp.h on these
platforms, if that platform does not use ucontext for LWP
context-switching. So we need to explicitly include ucontext.h in
preempt.c.

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

Change-Id: Ie1858dc4e7dfc6e9db4a4f63deda8018645f9111
Reviewed-on: http://gerrit.openafs.org/4162
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
14 years agovol: remove warning on use of DFlushVolume
Jeffrey Altman [Sat, 5 Mar 2011 19:29:38 +0000 (14:29 -0500)]
vol: remove warning on use of DFlushVolume

Include the afs/dir.h header on Windows to avoid
warnings caused by the missing prototype.

Change-Id: I841a330bb13c84076b1453befb1d8469ee64b82a
Reviewed-on: http://gerrit.openafs.org/4148
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
14 years agocrypto: Avoid variadic macros
Simon Wilkinson [Sun, 6 Mar 2011 18:18:07 +0000 (18:18 +0000)]
crypto: Avoid variadic macros

The IRIX compiler doesn't seem to like variadic macros, so avoid
using them within the RFC3961 kernel crypto implementation

Change-Id: I4bfddb01eb86a96e981c148e26281cc73130f924
Reviewed-on: http://gerrit.openafs.org/4154
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
14 years agoubik: cleanup DB lock usage in SDISK_SendFile
Marc Dionne [Sat, 29 Jan 2011 17:48:02 +0000 (12:48 -0500)]
ubik: cleanup DB lock usage in SDISK_SendFile

Some failure paths can return from SDISK_SendFile with the
database lock still held.  Other failure paths will cause
setlabel to be called without holding the lock.

Rework the failure paths so we always release the DB lock before
returning, and always hold it when calling setlabel.

Change-Id: I4cf98ecc9874110273e2cb4f94c37bdb9b43f0a2
Reviewed-on: http://gerrit.openafs.org/4151
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoubik: refactor pthread creation code
Marc Dionne [Sat, 5 Mar 2011 16:40:41 +0000 (11:40 -0500)]
ubik: refactor pthread creation code

Refactor thread creation into a new ubik_thread_create function.
Eliminates some code duplication.

No functional changes.

Change-Id: I7e8c84e138db5503eab109336734c348da98fc04
Reviewed-on: http://gerrit.openafs.org/4146
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
14 years agoubik: remove unused code
Marc Dionne [Sat, 5 Mar 2011 16:19:10 +0000 (11:19 -0500)]
ubik: remove unused code

Remove some unused code and associated comment.  rx_Init does
belong earlier in the sequence.

Change-Id: I9db399b8ae3343e0c2c14f64150d55a2411899c3
Reviewed-on: http://gerrit.openafs.org/4145
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
14 years agoubik: Rearrange some initialization code
Marc Dionne [Thu, 20 Jan 2011 02:57:58 +0000 (21:57 -0500)]
ubik: Rearrange some initialization code

Some basic initialization should precede creating the RX
services.

Change-Id: Ic88d639be12ee8edd2ec7b61c2a5df435b59f663
Reviewed-on: http://gerrit.openafs.org/4144
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoubik: make uphys_close static
Marc Dionne [Sat, 29 Jan 2011 16:14:50 +0000 (11:14 -0500)]
ubik: make uphys_close static

This function is not used outside of phys.c, so make it private.

Change-Id: Ie84864cd8a2c0f423af604e45cd406acecf05957
Reviewed-on: http://gerrit.openafs.org/4143
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
14 years agoubik: remove successive Quorum_EndIO, Quorum_StartIO calls
Marc Dionne [Sat, 5 Mar 2011 15:27:36 +0000 (10:27 -0500)]
ubik: remove successive Quorum_EndIO, Quorum_StartIO calls

Refactoring brought these 2 calls together.
They can be optimized away.

Change-Id: I22b71bd8e63cdd956a0e5420ae5247eec7f3a6a2
Reviewed-on: http://gerrit.openafs.org/4142
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
14 years agoFix positional I/O support for largefiles
Ryan C. Underwood [Sun, 6 Mar 2011 10:40:53 +0000 (10:40 +0000)]
Fix positional I/O support for largefiles

Commit 335ccb40 introduced positional I/O support for the fileserver,
but didn't handle the largefile versions of preadv and pwritev. As a
result, the fileserver cannot handle files of more than 2Gb in size.

Fix this by using preadv64 and pwritev64 where O_LARGEFILE is defined,
in the same way as for all other I/O primitives.

Change-Id: Ia9f6411d0c8115176e1ec42dd9f72c96ba939bab
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-on: http://gerrit.openafs.org/4152
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agoDisable vectored positional IO if no 64bit support
Simon Wilkinson [Sun, 6 Mar 2011 16:06:36 +0000 (16:06 +0000)]
Disable vectored positional IO if no 64bit support

In order to support vectored positional I/O, and large files, we
need there to be an implementation of preadv64 and pwritev64. If
this isn't present, then just disable HAVE_PIOV.

Change-Id: I78b1e09f8a836534f49594300b4f58d661eebd46
Reviewed-on: http://gerrit.openafs.org/4153
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
14 years agovolser: warning removal
Jeffrey Altman [Sat, 5 Mar 2011 14:58:17 +0000 (09:58 -0500)]
volser: warning removal

remove assigning size_t to int warnings when size_t is larger
by declaring appropriate variables as size_t.

remove signed vs unsigned warnings

Change-Id: I998d7b0aa75bc03a6fa872a3628c43ebe08b4f99
Reviewed-on: http://gerrit.openafs.org/4137
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
14 years agoubik: add lock initialization function
Marc Dionne [Thu, 20 Jan 2011 02:52:04 +0000 (21:52 -0500)]
ubik: add lock initialization function

Add a new lock initialization function and call it from the
initialization sequence.  Users of the locks can assume that
they are already initialized.

Change-Id: I8e86f460cb705c8de12bac9367358c93f1423591
Reviewed-on: http://gerrit.openafs.org/4141
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoubik: rename DInit, call from initialization sequence
Marc Dionne [Thu, 20 Jan 2011 02:39:44 +0000 (21:39 -0500)]
ubik: rename DInit, call from initialization sequence

Rename DInit to udisk_Init, and call it from the general
initialization sequence.  udisk_begin can now assume that this
has been done.

Change-Id: I88f38b7a846b635e0c42f42cdf8c9005bb4bf62d
Reviewed-on: http://gerrit.openafs.org/4140
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoubik: build all files for pthread version
Jeffrey Altman [Sat, 5 Mar 2011 23:34:57 +0000 (18:34 -0500)]
ubik: build all files for pthread version

Build all files for pthreads from the ubik directory.
No longer require src/tubik/NTMakefile.
Add missing library to tbutc linkage requirements.

Change-Id: If517ce528e5dde9b600824897e1304949b2c2719
Reviewed-on: http://gerrit.openafs.org/4150
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
14 years agovolser: restore diskPartition[64] lock_fd comment
Jeffrey Altman [Sat, 5 Mar 2011 15:06:50 +0000 (10:06 -0500)]
volser: restore diskPartition[64] lock_fd comment

The diskPartition[64] wire structures contain an int to represent
the file descriptor.  This field is too small to represent the
Windows file descriptor which is a 64-bit HANDLE.  A comment had
been added by Rod Widdowson.  Restore it.

Change-Id: Icf513060802e7f057f6ca735afb26d22edbf6446
Reviewed-on: http://gerrit.openafs.org/4138
Reviewed-by: Rod Widdowson <rdw@steadingsoftware.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
14 years agovolser: cleanup volser_internal.h
Jeffrey Altman [Sat, 5 Mar 2011 14:38:08 +0000 (09:38 -0500)]
volser: cleanup volser_internal.h

remove yesprompt() prototype for function that no longer exists

make dump_sig_handler(), sortVolumes(), VolumeExists(),
CheckVldbRWBK(), CheckVldbRO(), and CheckVldb() static within
vsprocs.c

Change-Id: I2130ac0d2f0dbfe6bf3315450ba342b6e9d51b6b
Reviewed-on: http://gerrit.openafs.org/4136
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
14 years agoubik: remove unused UBIK_PAUSE code
Marc Dionne [Thu, 20 Jan 2011 02:25:21 +0000 (21:25 -0500)]
ubik: remove unused UBIK_PAUSE code

This code has never been enabled, and is apparently not needed,
so remove it to simplify maintenance and future changes.

Change-Id: I7ff589e6bf1934aa0ae378ce550c8b69c508d171
Reviewed-on: http://gerrit.openafs.org/4139
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agovolser: make private lockproc routines private
Jeffrey Altman [Sat, 5 Mar 2011 14:21:15 +0000 (09:21 -0500)]
volser: make private lockproc routines private

FindIndex and SetAValue are only used within lockprocs.c.
Make them static and remove them from lockprocs_prototypes.h

Change-Id: I09774fdc2368941191e17d9ce1fc13a4ff5bec42
Reviewed-on: http://gerrit.openafs.org/4135
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoDon't trust # of entries from ListAttributes
Simon Wilkinson [Sun, 26 Dec 2010 14:54:43 +0000 (14:54 +0000)]
Don't trust # of entries from ListAttributes

ListAttributes returns the number of entries in its array as an RPC
argument. But, we can't trust this, as it could be manipulated and
end up pointing past the end of the returned array (which is counted,
so the entries argument is actually pointless).

Add bounds checking to the functions which use this value to prevent
this problem.

(cherry picked from commit 8992210f27671673a89a541776aa105238ad14cf)
Reviewed-on: http://gerrit.openafs.org/3597
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Change-Id: I318f2f956a48f10e91590ad9f28fab868d8ceb60
Reviewed-on: http://gerrit.openafs.org/4134
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoRevert "Convert from using nvldbentry to uvldbentry"
Jeffrey Altman [Sat, 5 Mar 2011 05:40:13 +0000 (00:40 -0500)]
Revert "Convert from using nvldbentry to uvldbentry"

This reverts commit 4f1efdc8b73ed734197925766530d033c6f9794a.

The conversion to uvldbentry produced too many negative side
effects.  Revisit support for multi-homed servers when vos
is executed from a machine that can only see a random subset
of the addresses assigned to the server in the future.

(cherry picked from commit 9e539fbea456cdb416a487364d67ab54da1249a7)
Reviewed-on: http://gerrit.openafs.org/4131
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Change-Id: I9211d919e4584c1dac388155b6f4609f50fe603c
Reviewed-on: http://gerrit.openafs.org/4133
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoRevert "modify FindIndex to compare uuids"
Jeffrey Altman [Sat, 5 Mar 2011 04:40:31 +0000 (23:40 -0500)]
Revert "modify FindIndex to compare uuids"

This reverts commit 9aad0979e9ff0601c249eb66a6ecfb3e76264702.

This is being pulled as the entire nvldbentry to uvldbentry
conversion is being reverted.

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

Change-Id: If97b81e874c87b10a4c4e5f190f573781fc3c158
Reviewed-on: http://gerrit.openafs.org/4132
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
14 years agoUnix CM: Remove redefinition of "inline"
Simon Wilkinson [Fri, 4 Mar 2011 10:29:45 +0000 (10:29 +0000)]
Unix CM: Remove redefinition of "inline"

discon.h contained a redefintion of "inline" for non-gcc compilers
that's a left over from when it used "static inline", rather than
"static_inline".

Remove the redefinition, as it's now both uneccessary, and confusing.

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