We've now got a compatibilty function for locking and unlocking an
inode. Use that in osi_file, rather than a local set of #ifdefs
Change-Id: Ie64f0b758df0b90d0df2033d57729c8b09652c39
Reviewed-on: http://gerrit.openafs.org/2389
Tested-by: Jason Edgecombe <jason@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
make dumptool in test suite compile on macos again
Change-Id: Id60f625ce53bc9695673b68c733fa653521a8122
Reviewed-on: http://gerrit.openafs.org/2387
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
failed to git add, and so failed to push this back.
Change-Id: Ic538ac13f3099cfb3b8a5561e332750421ddd093
Reviewed-on: http://gerrit.openafs.org/2386
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Do not print large positive integers as negative.
Change-Id: Ia7f96e64ee6ad0c58de0d03779b230623d60b114
Reviewed-on: http://gerrit.openafs.org/1949
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Attempt to resolve collisions when adding a host to the
address hash table and another host with the same address:port
is already present in the hash table. Retrieve the uuid for
the host at that address and if the uuid matches the new host
and not the old, remove the address from the old host and
install the new host into the address hash.
Change-Id: Id182f907f63be556c61ffb91777edd35f0aa950d
Reviewed-on: http://gerrit.openafs.org/1786
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Many different places were testing if an address is a loopback
address. Consolidate these into one function to make it easier to
alter.
Change-Id: I9c4465f3bdc4e840c83d69456504caaac1c544e7
Reviewed-on: http://gerrit.openafs.org/2375
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
In the salvager, GetInodeSummary stores some information about the
relevant inodes into a file. Free the memory for that information
after it's been written out, since we don't reference that memory
again.
Change-Id: I9578f941d2ea13240dd22d9b6e7a1f32217263c9
Reviewed-on: http://gerrit.openafs.org/2370
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
A library framework for remote testing against file servers,
with the ability to establish multiple call/callback channel
pairs within a single test process and dispatch requests
arbitrarily on each. Thanks to Derrick for design and debugging
help. Additional callback processing intelligence will follow
in a future changeset. This version builds on Windows NT (but
might need further adjustment).
Change-Id: Ibea39e912b2a23ebf58e9e0931114572eccf6e78
Reviewed-on: http://gerrit.openafs.org/2229
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
We were calling try_to_sleep, rather than afs_try_to_sleep. Whilst
try_to_sleep is present in all modern Linux kernels, on some older
systems we need to fall back to our own implementation, which is
what the afs_try_to_sleep function should do, but it can only do so
if we call it.
Change-Id: I900e50cf2754535e676d582bd3da82f1833bde52
Reviewed-on: http://gerrit.openafs.org/2384
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Commit eef18466d9 introduced some
compatibility macros for the refridgerator functionality. Use these
in the Linux kernel RX code, rather than rolling our own.
Change-Id: I4279e0b3ee92337cb992ff46895712630f681b7b
Reviewed-on: http://gerrit.openafs.org/2383
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Autoconf apparently doesn't care because it runs it explicitly under
a shell, but it's sometimes useful to run it manually to check
something. Plus, executable shell scripts should be executable on
general principles.
Change-Id: I0663d91da643f7c0a77fe758ca63f1cc14e81180
Reviewed-on: http://gerrit.openafs.org/2377
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The #if defined(AFS_DARWIN80_ENV) in src/afs/afs_osidnlc.c was
never terminated, leading to build failures. Add an #endif.
Change-Id: Ie2f324668becef8294b86cadec5cf5547731d2ad
Reviewed-on: http://gerrit.openafs.org/2381
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
The variable passed into ktime_DateToLong must be initialized to 0
or, on error, we get the previous value and the tests fail.
Change-Id: I5528a830981a85fb6737bb8cb5931ab95faffb13
Reviewed-on: http://gerrit.openafs.org/2379
Tested-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
rx_kmutex.c calls refrigerator(), which is prototyped in linux/freezer.h,
but was not including it, causing build failures on Linux 2.6.32-5
(Debian).
Change-Id: I3867be6e7b8478d6fab8b97a4c923f979029517e
Reviewed-on: http://gerrit.openafs.org/2380
Tested-by: Russ Allbery <rra@stanford.edu>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Callers of FDH_SIZE and OS_SIZE should be storing the results in an
afs_sfsize_t. Some were using regular 'int's and other things, which
can screw up if the file is sufficiently large.
Change-Id: Ibbc2067ed3b90edcbdd46cfa43da559fd6419f0b
Reviewed-on: http://gerrit.openafs.org/2357
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Critical sections may not be used with (non-spin) locks. As such,
this code was wrong, and led to a panic.
We don't see why there what synchronization they may have been
providing, so just remove them and do not replace them.
Change-Id: I5d81595a7059a91b9aad46ab0a634fa684f67325
Reviewed-on: http://gerrit.openafs.org/2373
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The commit d0abe56aa4 added
a duplicate inclusion of freezer.h. Older versions
of linux (circa 2.6.20) are missing include guards
on freezer.h.
Change-Id: I12c47cded7d06a3514a520b554bbcbd3328f0d2b
Reviewed-on: http://gerrit.openafs.org/2369
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
SOURCE-MAP now reflects state of current code tree,
reformatted for readability and easier updating.
Change-Id: I858156692c1e4c60ba4d5a75b684db2a079e2dba
Reviewed-on: http://gerrit.openafs.org/2348
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Set a flag to say when we've called SubEnumerate, so that we don't
end up calling it twice when in -format mode
(Simon Wilkinson extracted this from a larger patch by sanket)
FIXES 41031
Change-Id: I2cadd536cb6c9f389330d64ffbf35a16d673d2de
Reviewed-on: http://gerrit.openafs.org/2320
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Include the new man pages in the base 'openafs' package. The package
build process fails with unpackaged files without this update.
Change-Id: Ie7a80a283bb95b492b56be0133c1bd811953c57e
Reviewed-on: http://gerrit.openafs.org/2364
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
VPrintDiskStats_r tried to log some information using separate Log()
statements on the same line. This looks very odd when logged, since we
add a timestamp to every Log() call these days. Fix it to print the
line as one call to Log().
Change-Id: I19a5365c24208229201ba54ff04e793b5e50eee5
Reviewed-on: http://gerrit.openafs.org/2359
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The "File Server has started at" log message contains a trailing '\r'
for some reason. Remove it (ctime will give us a trailing '\n').
Change-Id: I8f280abff9a7548f376f007021d74d3a21ac45cf
Reviewed-on: http://gerrit.openafs.org/2358
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
FUSE was already in 1.5.74, and DAFS fast-restart was not in
1.5.75.
Change-Id: I2e1b765c61ce4670800787dbcfd13c2c2af63f79
Reviewed-on: http://gerrit.openafs.org/2356
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Previous commit to this file was not as tested as we thought.
This one actually builds (well, except for the part where flex
doesn't like et_lex.lex.l at the moment).
Change-Id: I11d918adc50bb387c022d90cb0877a6a667e8252
Reviewed-on: http://gerrit.openafs.org/2362
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
We've had per-cpu counter variables for a while, use the proper
macros to adjust them.
FBSD90 has had the page queue locks pushed down a level, so we
don't need to lock them and should lock individual pages instead.
This fixes mmap() on FreeBSD HEAD.
Change-Id: I95d16097aaa65c1c99b4a686c05ac84fe9c11584
Reviewed-on: http://gerrit.openafs.org/2360
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The ifdefs in klog_prompter were getting a bit confusing. Split out
some logic into a separate "is this prompt a password prompt"
function. As a result, we can build without KRB5_PROMPT_TYPE_PASSWORD
defined, which happens to be the case on hp_ux11i.
Change-Id: I1d5f794bfc33017f699478e367cde91a3e77d33c
Reviewed-on: http://gerrit.openafs.org/2353
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Setting AFSTOV(avc)->v_mount is the linux/BSD way. avc->v.v_vfsp is
the HP-UX (et al) way.
Change-Id: If2cd1c1e74fcd0ca5ad981497abe7968d97cf0ed
Reviewed-on: http://gerrit.openafs.org/2351
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
We use proc_t in a typedef, and we need proc_iface to get proc_t. So,
include it.
Change-Id: I515abe43ae1d3b4a2c54ebe1b7192a91ed441117
Reviewed-on: http://gerrit.openafs.org/2350
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
We need to include limits.h to use UINT_MAX on some platforms, so
include it in src/rxkad/v5der.c.
Change-Id: I79343011e72080e58f07d53195488808d9e29121
Reviewed-on: http://gerrit.openafs.org/2339
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
several of the mtu configuration cases for the kernel version
of InitPeerParams were bogus. clean up the function.
(a forthcoming change reworks this anyway, but..)
Change-Id: Ia4449d5cecc80cddae7d0f611186f48614b908ee
Reviewed-on: http://gerrit.openafs.org/2343
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
It is not immediately clear how to obtain the current process name on
HPUX, and the current osi_procname definition breaks the build, so
just make osi_procname a stub for HPUX.
Change-Id: I8c825d53d7f25b1500b41629ba73f2fe1f48f00a
Reviewed-on: http://gerrit.openafs.org/2341
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
don't assume every system have uint16_t and uint32_t;
instead massage for use of native afs types.
Change-Id: I8943f37ecf6dd5d1565ed295b6e6a2ca9eea5b6d
Reviewed-on: http://gerrit.openafs.org/2334
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The soclose(rx_socket) call is needed in order to restart AFS.
(Otherwise sobind() fails with EADDRINUSE.)
While here, use the defined constant SHUT_RDWR instead of
hardcoding '2' for soshutdown's second argument.
Change-Id: Iba7cac3aec79764783628da28b12253d496a7680
Reviewed-on: http://gerrit.openafs.org/2331
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
If sobind() failed, we would lock the glock before going to bad,
which proceeded to lock the glock, panic()ing on the recursion attempt.
Remove the unneeded first call.
Change-Id: Ifa793735ebe64bde98156caa610c06612bdb92bd
Reviewed-on: http://gerrit.openafs.org/2330
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
The executable %{_bindir}/kpasswd was included in the
the 'openafs' base package.
This change removes the kpasswd executable from the base package. It
is still built and is installed in the 'openafs-kpasswd' package. I
believe this was the original intent of the 'openafs-kpasswd' package.
Change-Id: Idf49747d8a703bb959cdf758d489d640045f285f
Reviewed-on: http://gerrit.openafs.org/2305
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
move the log message i added to the correct place and put one where
it came from. oops
Change-Id: Ieb78d8cc076dbc2279922b0909546878b9ee005e
Reviewed-on: http://gerrit.openafs.org/2327
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
When trying to create a volume (either an entirely new volume or a
clone), request a demand-salvage on that volume group if we hit an
unexpected error. This can allow some situations to automatically
rectify themselves if, for example, a volume is missing its .vol
header, but still otherwise exists and causes an error during a clone.
Change-Id: I22b3e9028685395a8e621962138dee9f5f2ec822
Reviewed-on: http://gerrit.openafs.org/2286
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Allow salvage requests over FSSYNC (FORCE_ERROR with the FSYNC_SALVAGE
reason code) that are requested on volumes that we do not know to
exist. This can be helpful if a salvage is requested on a volume that
someone attempted to create but failed, indicating that a
partially-created volume may be in the way.
Log an additional message when we do this, as it should not be a
normal occurrence.
Change-Id: I6e1bbe35111a41c489fe85cad36e6a8a6f323a5a
Reviewed-on: http://gerrit.openafs.org/2285
Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Add some parentheses around the tests for FCSBypass.
Without them, the test will not always give the intended result.
Change-Id: I94cb2b2c95c702981fce9cff066b620bce652ee1
Reviewed-on: http://gerrit.openafs.org/2324
Reviewed-by: Matt Benjamin <matt@linuxbox.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>