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 eef18466d920985c37ed8d22a6557b609c6225a6 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 d0abe56aa47d4561ba57527d53a2b0db2ea613c2 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>
Cast the printf argument to int to match the format specifier.
Change-Id: I4300c8a407c99c40e116a6e166a76112fb92d254
Reviewed-on: http://gerrit.openafs.org/2323
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Formerly, we assumed that any page eligible for background i/o could
be effectively pinned by lock_page. Persuant to concern expressed by
Simon that such pages might be eligible to be released by the kernel
after readpages returns, call get_page to increment the refcount on
each page before dispatching a background read (and matching put_page
when the i/o is completed).
Change-Id: Ib3a63e56e6b902b4eb5deb769847e7f17ce2c9ff
Reviewed-on: http://gerrit.openafs.org/2215
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
Log in FileLog (or VolserLog, or the log of any program that requests
salvages) when we request a demand-salvage to occur.
Change-Id: I2444480287a1647c2d3e25039467167e28e17f38
Reviewed-on: http://gerrit.openafs.org/2284
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
Tested-by: Derrick Brashear <shadow@dementia.org>
Rework the git version detection script to handle some issues that
have been pointed out.
1/ Make it work properly with objdir builds
2/ Don't try to work out if the tree is dirty if git describe failed
3/ Use the configured VERSION as a fallback if we can't obtain proper
version information during a make
Change-Id: I39494e1c18cf4eacbb55386334da7128fbe96310
Reviewed-on: http://gerrit.openafs.org/2283
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
The destroyMe conditional does not depend on the result of
VShouldCheckInUse(), so move it outside of that block.
Change-Id: Ieb4c97ae9f76b4369680629f18eecd1dfc06682f
Reviewed-on: http://gerrit.openafs.org/2276
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Tom Keiser <tkeiser@sinenomine.net>
Tested-by: Derrick Brashear <shadow@dementia.org>
avoid growing a volume index too large. handle errors other than just by
dropping a core
Change-Id: Id1bf7a1a40672b6b960cc0d7a1cd54f48ab0b50a
Reviewed-on: http://gerrit.openafs.org/2291
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>