Commit Graph

283 Commits

Author SHA1 Message Date
Nathan Neulinger
580af44321 makefiles-cflag-cleanup-20030111
move cflags back to makefile.config, more cleanup, dup removal
2003-01-11 07:33:52 +00:00
R. Lindsay Todd
800b103f0a fileserver-largefile-support-20020109
Fix compile problems for 64BIT_ENV with large files turned off
2003-01-09 19:16:50 +00:00
R. Lindsay Todd
a038124edc fileserver-largefile-support-20020107
fileserver-side large file support
2003-01-07 23:38:02 +00:00
Nickolai Zeldovich
d86a3e307e Create a special thread to receive signals in the pthread fileserver, in
order to avoid deadlock (we have signal handlers that unsafely grab locks).
2003-01-04 05:20:55 +00:00
Derrick Brashear
c9f2a72c91 fssync-interface-change-to-deal-with-callback-delays-20021204
move callback breaking into a separate thread

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

the rest of it. somehow the original version of this was lost.

====================

the rest of it. somehow the original version of this was lost.

====================

the rest of it. somehow the original version of this was lost.
2002-12-04 16:52:53 +00:00
Jim Rees
bb66c6098b remove-prototypes-20021203
Remove prototypes from viced_prototypes.h.
2002-12-03 17:44:14 +00:00
Derrick Brashear
484d4b8588 viced-prototypes-inclusion-20021202
include prototypes header file
2002-12-03 02:03:42 +00:00
Jim Rees
63b85f21f5 fix-includes-20021202
Fix includes so the tree will build again
2002-12-02 13:39:46 +00:00
Derrick Brashear
3b95323f9f viced-make-send-buffersize-tunable-20021122
idea from chas williams. arguably should be made larger than 16k also.
2002-11-23 01:51:43 +00:00
Nickolai Zeldovich
f349e5b3fa Allocate memory for the interface addr arrays dynamically
to avoid potential overruns.
2002-10-30 09:10:16 +00:00
Derrick Brashear
dfaf556aea viced-cleanup-20021030
it all compiles nicely

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

a little more cleanup

====================

a little more cleanup

====================

a little more cleanup

====================

a little more cleanup
2002-10-30 08:40:38 +00:00
Derrick Brashear
fac0740132 afsfileprocs-more-cleanup-20021030
finish ansification
take some functions internal
reorganize to avoid need for some prototypes
remove said prototypes
strip out some unused code
2002-10-30 07:06:46 +00:00
Derrick Brashear
e1f2501c4f viced-afsfileprocs-partial-protoizing-20021029
need to finish protoizing and create useful header
2002-10-30 00:12:15 +00:00
Derrick Brashear
511e067fd2 fileserver-host-interface-cleanup-20021029
get rid of HPCS macros from person who was confused

get rid of unused functions in host.c

convert to ansi func decls
2002-10-29 23:03:13 +00:00
Nathan Neulinger
190bc027de fileserver-readonly-support-20021028
so a fileserver can deny writes
2002-10-29 00:06:41 +00:00
Satish Kumar
ec5df8df8c fix-quota-calcs-with-unsigned-20021018
Change some ints to unsigned for correct quota calculation.
From Gregory via Satish Kumar.
2002-10-18 16:59:00 +00:00
Nathan Neulinger
782109a29b no-copy-libafs-builds-20021015
make things so file copies from src/libafs don't happen; change how libafs_tree is done
2002-10-16 04:58:13 +00:00
Derrick Brashear
5714e09b34 fileserver-cbs-raise-limit-by-killing-goofy-u-short-indexing-20021008
i probably missed something here.

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

i did miss something. also, change FileEntry padding and axe useless comment

====================

try, try again

====================

once more with feeling

====================

make typing of the indexes into timeout[] match

====================

make struct CallBack a multiple of 32 bit so the weird math works again
2002-10-09 16:54:48 +00:00
Nathan Neulinger
729ec68bf6 handle-cow-differently-if-volume-wont-be-salvaged-20020930
as edited by shadow@dementia.org
2002-09-30 20:21:40 +00:00
Nathan Neulinger
697feb05a0 prototypes-empty-files-to-diff-against-20020826
literally empty
2002-08-26 22:04:48 +00:00
Nathan Neulinger
e4b7c9513e viced-prototypes-20020826
prototyping for viced/callback.c
2002-08-26 16:46:32 +00:00
Derrick Brashear
8e66ec5e01 prototypes-fixes-20020821
screw it. if winnt can have generic pointers, so can we

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

and cast all the pointers
2002-08-22 19:45:11 +00:00
Nathan Neulinger
0ca7613ac4 viced-provide-way-to-not-retraverse-hostlist-20020821
based on thomas muellers patch
2002-08-21 21:32:19 +00:00
Jeffrey Hutzelman
808369b969 sunos4-port-20020821
This patch adds support for building OpenAFS user-mode code on SunOS 4.
It does not include libafs, ulibafs, or any code that needs to understand
the filesystem layout (so, no vfsck, and while the salvager will be built,
it won't work).
2002-08-21 20:19:28 +00:00
Nathan Neulinger
8f2df21ffe pull-prototypes-to-head-20020821
pull up prototypes to head
2002-08-21 19:52:17 +00:00
Nickolai Zeldovich
847a5af3be Allow users with admin bits to store different user/group IDs
along with a StoreData call; they can already do so anyway by
using StoreStatus.  Fixes a spurious permission denied error
with arla clients.
2002-08-20 22:39:31 +00:00
Richard Basch
30433f36a9 Update_TargetVnodeStatus() checks and strips setuid bits for non admin
clients; it should do the same thing for setgid files.
2002-06-22 05:32:45 +00:00
Richard Basch
a0d69dfa39 Don't give directory owners any implicit rights. Volume owners still
have their implicit rights.
2002-06-12 18:06:45 +00:00
Derrick Brashear
bbab909436 viced-malloc-dont-make-assumptions-about-the-compiler-20020524
based on report from lha@stacken.kth.se
"identP = (struct Identity *)malloc(1);

This can't be right, there should not be an assumption how the
c-compiler will lay out code. I find it acceptable to do something like this

	   /* sizeof valid + offset of valid. */
	   i.. = malloc(sizeof(identP->valid) + (int)&(((struct Identity *)0)->valid));

But then, why not just allocate a whole identP and be happy. A afsUUID
is not that bloted (16 bytes) so I can't see why way this is
chosen. 20 bytes will probably be allocated on 32 bit platforms for
the whole struct Identity.

"
2002-05-24 23:05:47 +00:00
Derrick Brashear
ee798e49f2 viced-cleanup-dirhandle-references-after-ourselves-20020509
doesn't fix any problem that i can find, but results in ihandles not
having thousands of bogus references (and may fix problems if refcnt were to wrap)
2002-05-09 16:56:46 +00:00
Nickolai Zeldovich
27595ffcd9 The heldp argument to h_Lookup should be an int* rather than int,
as pointed out by amu@alum.mit.edu.
2002-04-22 18:16:16 +00:00
Nickolai Zeldovich
d4493526a7 Make h_Lookup_r return the host held, and ensure that it's not
deleted at that point; otherwise, the host may be deleted by
another thread between a call to h_Lookup_r and the time when
we actually get around to h_Hold'ing it.
2002-04-15 22:36:00 +00:00
Nickolai Zeldovich
c4ac62f829 Clean up some more ViceLog calls to consistently refer to hosts in a
format like 18.239.2.102:7001, rather than memory address or hex IP.
2002-03-24 23:39:01 +00:00
Love Hörnquist-Åstrand
a5cb7c256b rxgen-prototypes-fixes-20020310
prototype fixes as fallout from rxgen header prototypes

emit server stubs which include header as well
2002-03-10 19:07:56 +00:00
Nickolai Zeldovich
571f314329 viced-call-safss-functions-with-acall-not-tcon-20020307
based on report from mattiasa@e.kth.se who has the following feedback from
lha@e.kth.se:
Patch from Love to make filserver not loop on MUTEX_ENTER() in
  rx_SetSpecific()
2002-03-08 06:08:05 +00:00
Nathan Neulinger
676a493f5b Really apply improve-type-safety-and-prototype-matching-20020226.
Somehow only the first 128K of afsfileprocs.c got copied over before.
2002-02-26 23:35:26 +00:00
Nathan Neulinger
864edcbc52 Make the SRXAFS_* functions match prototypes by taking an
rx_call instead of rx_connection, and make CallPreamble()
type-safe by taking two arguments instead of magically
turning an rx_call into rx_connection.
2002-02-26 23:26:36 +00:00
Nickolai Zeldovich
feb689396c Always verify that the client is fully reachable before talking
to it, in the fileserver.  This prevents some additional lossage
cases with poorly-connected clients.

Disable same feature for other Rx services, since they don't
need to incur extra RTT delay.
2002-02-22 08:58:20 +00:00
Chaskiel M Grundman
bd707fb7e6 freebsd-almost-working-client-20020216
a) a freebsd client that compiles, and to a certain extent, works. Should
not be used except by people doing freebsd client development
b) configure glue for freebsd 4.3, 4.4, and 4.5
c) freebsd tfileserver support. Note that, by default, this isn't very
interesting, as the supported freebsd pthreads are just as cooperative as
LWP. if you install the linuxthreads port and swap the MT_* variables in
osconf.m4, you will get a more traditional tfileserver though. configure
glue for that will be forthcoming at some point.
d) a maybe-fix that sets sin_len in sockaddrs on platforms that have them.

(and also a fix for the AC_PROG_CC issue which affects autoconf 2.13 and 2.5x
 on same conf files issue)
2002-02-16 18:23:44 +00:00
Nathan Neulinger
9a6dbb4df7 viced-printinode-returns-string-not-number-20020212
based on feedback from ota@transarc.com

PrintInode returns a string, use it
2002-02-13 04:00:57 +00:00
Hartmut Reuter
b7b1788424 viced-callback-avoid-potential-looping-problem-20020201
avoid case where we never come out of loop attempting to clear host cvallbacks
2002-02-01 22:12:51 +00:00
Nickolai Zeldovich
ddaf08d4b8 make-storedata-use-unsigned-values-so-quota-cant-get-corrupted-20011203
Currently it's possible to give StoreData negative Pos/Length/FileLength
  arguments and thereby set the volume quota usage to arbitrary values.
  This patch makes these values unsigned, since negative file positions
  and lengths don't make sense anyway.
2001-12-08 02:29:24 +00:00
Chas Williams
c53a034e36 viced-getstatus-clear-lengthhi-since-not-now-using-it-20011119
so we don't end up with bogus value here
2001-11-19 16:59:53 +00:00
Chas Williams
cae92b082c viced-fetchdata64-should-call-common-code-in-64-mode-20011119
both of the stubs shouldn't be using the 32 bit case in common
2001-11-19 16:53:46 +00:00
Derrick Brashear
05c2a3e13a viced-add-missing-comma-in-64bit-detailed-stats-case-20011114
and due to no prototypes this slipped right on by
2001-11-14 23:59:57 +00:00
Nickolai Zeldovich
3aaaa28ba8 viced-clear-clientdeleted-when-deleted-clients-are-cleaned-up-20011102
Currently nothing clears the CLIENTDELETED flag in hosts, so once
  a client has been deleted, h_TossStuff_r() will keep getting called
  with every host release.  This patch clears the CLIENTDELETED flag
  every time we take care of deleted clients.
2001-11-02 07:57:12 +00:00
Nathan Neulinger
838e1eae1a build-system-specific-makefile-configuration-from-configure-20011031
junk all of Makefile.${SYS_NAME} in favor of a common makefile built by
configure, and use it
2001-11-01 04:59:26 +00:00
Hartmut Reuter
971b18bc42 client-64bit-file-size-support-20011031
new RPCs and client-side support for large files
2001-11-01 04:01:22 +00:00
Eric Lauriault
367c2856e8 sunx86-support-20011017
base sunx86 support for newer than solaris 2.4
2001-10-18 00:36:02 +00:00
Nathan Neulinger
b9948dd965 initial-objdir-support-20011017
first cut at objdir support
2001-10-18 00:06:58 +00:00
Derrick Brashear
72d9dc7741 h-release-r-should-try-harder-to-reap-deleted-hosts-20011008
based on complaint from and work with jimmy@e.kth.se

h_OtherHolds_r will never return 0 if we mask our own hold
bit before calling it. however we must be careful to mask before h_TossStuff_r
so we aren't still "holding" then

otherwise just release our hold

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

mask holdbit in case i missed
2001-10-10 15:00:54 +00:00
Nathan Neulinger
c5d97c62c8 viced-server-shutdown-diagnostics-20011005
print some debugging if we shutdown due to failure
2001-10-05 22:25:24 +00:00
Love Hörnquist-Åstrand
5f002d755f viced-hosts-dump-make-output-more-useful-for-holds-20011005
don't just print pointer to holds array
2001-10-05 22:10:54 +00:00
Derrick Brashear
8a3eb1f06d be-more-careful-about-references-when-adding-and-deleting-callbacks-20011001
perhaps too careful. to fix potential crash in TDel and TAdd

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

remove extra ) which snuck in
2001-10-01 18:51:41 +00:00
Nickolai Zeldovich
7afd82623d require-administer-permission-for-mount-point-creation-harder-20010926
make sure a mount point isn't being created if the user isn't allowed to
do that
2001-10-01 18:35:50 +00:00
Derrick Brashear
362d26c733 create-inline-bulkstatus-rpc-and-server-stub-20010925
this way it's possible to do a bulkstatus where some items succeed and
fill in that stat info, instead of just getting an error.
2001-09-25 16:44:39 +00:00
Derrick Brashear
fb88a00980 fileserver-remove-delay-on-stat-errors-20010925
previously and since 3.5 rx enhancements fileserver would delay 3 seconds
on sending an rx abort when the abort was the 11th or more occurance of
the same error on the same call. the problem was fetchstatus/bulkstatus
on a directory on which you have "l" but not "r" would take forever after the
first 5 files (bulkstatus and then fetchstatus on each file, 2*5=10)

so in FetchStatus and BulkStatus stubs we suppress repeated errors from
Check_PermissionRights *only*, which has the effect of suppressing the
problem without removing the theoretical benefit of avoiding letting any
one client throw requests at as as fast as we can abort them unless those
requests happen to be fetch/bulkstat requests which fail a permission check,
but in order to avoid that we'd also need to cache what they last tried
to stat, and then things would get ugly.
2001-09-24 23:19:46 +00:00
Nickolai Zeldovich
c1cee109ad viced-deal-gracefully-with-afsconf-failure-20010924
-- Fileserver will complain if afsconf_Open() fails, rather than
    mysteriously segfault'ing later on.
2001-09-24 11:48:14 +00:00
Jim Rees
b80f8ab2cb Initial OpenBSD support. Most of user space builds. No kernel module yet. 2001-09-14 00:19:17 +00:00
Nathan Neulinger
2a12550e7c add-cvsignores-to-project-20010910
start at cvsignores
2001-09-10 21:14:01 +00:00
Jeffrey Hutzelman
80e2c2f8ce make-install-support-for-transarc-and-prefix-style-universes-20010907
according to jeff:
- Renames the top-level 'install' target to 'build'.  This should be
    transparent, since no one should be using that.

  - Improves on Sam's dirpath patches, by splitting out server binaries
    into separate bin, sbin, and libexec directories in GCS mode (these
    are all /usr/afs/bin in Transarc mode).

  - Updates the top-level 'all' target so that it builds the software
    but does not generate a dest tree.  Top-level 'lib' and 'include'
    directories are generated to hold the intermediate libraries and headers
    used during the build.

  - Adds a new top-level 'install' target, which installs things in the
    appropriate directories under ${DESTDIR}, based on configure's install
    directories plus the extras added by Sam's patch.

  - Adds a new top-level 'dest' target, which creates an old-style dest
    directory under ${DEST}.  The ${DEST} variable defaults to the
    traditional value of ${SRCDIR_PARENT}/${SYS_NAME}/dest.  Note that
    this variable used to be called ${DESTDIR}; it was renamed to avoid
    conflicts with the de facto standard usage of ${DESTDIR}.

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

fix missed makefile

====================

update another missed file

====================

eliminate bogus escaping

====================

get rid of another bogus escape

====================

remove unused include directory

====================

get rid of no longer used libdir

====================

remove unused incdir

====================

fix up some problems for make compatibility and missing trailing /

====================

put afs.exp in the right place

====================

remove bogus afssrvdir reference

====================

update dest version of output

====================

update ref to libexecdir

====================

kill refs to afssrvdir

====================


convert missed LIBDIR to TOP_LIBDIR

====================

remove explicit INSTALL and use makefile.@sys value instead

====================

except it's helpful to actually include makefile.@sys

====================

convert LIBDIR to TOP_LIBDIR
2001-09-10 20:15:57 +00:00
Nathan Neulinger
635df30c0f more-makefiles-cleanup-20010829
get rid of cases where we'd end up with two / because of DESTDIR pasting

macroize calls to rm

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

get rid of another case of bogus trailing quoting
2001-08-30 00:22:17 +00:00
Nathan Neulinger
b0c5f0cac6 makefile-updates-20010828
clean up all the makefiles to remove bogus targets, eliminate trailing /
requirement from DESTDIR, avoid needing to pass things like DESTDIR around
between makefiles

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

remove bogus quoting
2001-08-29 02:19:55 +00:00
Derrick Brashear
c5c521af0e convert-from-bsd-to-posix-string-and-memory-functions-20010807
bcopy, bcmp, bzero, index, rindex, you're all cut.
memcpy, memcmp, memset, strchr, strrchr, show us how it's done

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

fix reference to memset the right thing

====================

make change to arguments globally and not just for e.g. linux/darwin/fbsd

====================

fix a minor flub in how this was done

====================

correct another bad memcpy coversion

====================

fix up more inadvertant turds

====================

fix two errors found by chas williams
2001-08-08 03:05:55 +00:00
Nathan Neulinger
0207991adc convert-all-makefiles-to-makefile-ins-20010802
all relevant variables become subst'd and not passed in the environment
2001-08-02 16:45:35 +00:00
Sam Hartman
fabec30f17 viced-copyonwrite-give-useful-error-messages-when-taking-volumes-offline-20010720
don't just report "needs salvage", tell why it was taken offline
2001-07-20 21:38:06 +00:00
Nathan Neulinger
1fd4f11faf include-afsconfig-before-param-h-20010712
so stuff can be defined in afsconfig.h and included first
2001-07-12 20:58:15 +00:00
Nathan Neulinger
e7ec0d4213 afsconfig-and-rcsid-all-around-20010705
convert rest of source to afsconfig; include rcsid macros

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

remove bogus if/define/endif triple

====================

revert non-rcsid and afsconfig portion of patch
2001-07-05 16:20:00 +00:00
Tom Maher
a7014d4208 update-freebsd-support-20010628
fileserver now set up for namei interface. still no client
2001-06-29 04:20:01 +00:00
Derrick Brashear
aaca2cacd9 introduce-autoconf-for-openafs-20010628
replace existing build system with autoconf faceplate

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

so we can fix the file modes

====================
commit withj correct file modes

====================

stuff which got left behind

====================

more stuff which was missed

====================

get this right so build completes

====================

also make these correct (no obj reference)

====================

so autoconf dependancy chain need not change

====================

set correct variable for obsolete buildng

====================

so we can more easily use autoconf'd CC var
2001-06-28 06:44:19 +00:00
Nathan Neulinger
033aecd1e8 viced-dotted-quad-logging-without-malloc-20010601
based on suggestion from rees@umich.edu

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================

update for solaris cc joy
2001-06-04 22:08:19 +00:00
Nathan Neulinger
429c2eb913 log-host-addrs-as-dotted-quad-not-hex-in-viced-20010601
so you get a dotted quad and byte-correct port instead of a hex ip and a potentially
byteswapped port number from viced log messages
2001-06-01 20:14:58 +00:00
Nathan Neulinger
2a8a12e94b update-makefiles-for-afsconfig-h-20010517
more updates so afsconfig.h can be included
2001-05-18 02:22:10 +00:00
Nathan Neulinger
92165dc105 change-effect-of-afs-quietfs-env-20010514
so ViceLog happens when file server starts
2001-05-14 22:41:12 +00:00
Tom Maher
0c1eb3a380 initial-freebsd-port-work-20010414
start of work on freebsd port
2001-04-14 18:27:12 +00:00
Chaskiel M Grundman
a41175cfbb initial-darwin-support-20010327
setup for darwin port

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
changes for darwin port

====================

added files for the darwin port

====================
changes for darwin port
2001-03-27 08:43:13 +00:00
Michael Stroucken
bccc6a809d first-pass-at-alpha-linux-support-20010312
Changes for Alpha to previous 64 bit changes for sparc (sparc64 isn't
necessarily analogous to alpha or any other 64 bit linux platform)

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
use mkstemp

====================
Include necessary file for alpha config

====================
Deal with 64 bit time_t

====================
Don't do increments in a way that can be miscompiled

====================
configure for alpha linux

====================
deal with time and initialize a variable

====================
don't use ViceIoctl32 for alpha linux

====================
deal with compiling kdump for alpha linux

====================
mods in callback.c analogous to dux port; mods in viced to deal with
thread creation function return convention

====================
config for linux alpha

====================
ids for alpha linux consistent with new-style sysname grouping

====================
makefile and config files for new-style sysnames

====================
MakefileProto changes for alpha linux with new-style sysnames. A change
in config/mc.c will be needed for this to configure correctly, and it will
be added soon

====================
note alpha port and the state it's in to hopefully avoid questions
2001-03-27 00:53:26 +00:00
Nathan Neulinger
0d466f2f10 add-server-syslog-logging-capabilities-20010326
Add support for syslogging server log messages

====================
This delta was composed from multiple commits as part of the CVS->Git migration.
The checkin message with each commit was inconsistent.
The following are the additional commit messages.
====================
Add syslogging capability to ptserver

====================
add syslog capability to fileserver

====================
Add syslog capability to the volserver

====================
Add syslog capability to the vlserver

====================
fix my own error when hand-applying nathan's patch

====================
remove unused function
2001-03-26 20:26:17 +00:00
Derek Atkins
2165ef3af8 make-fileserver-deal-correctly-with-client-which-changed-addresses-but-was-offline-when-a-callback-to-it-was-revoked-20010326
"First, some background: The AFS Fileserver tries really hard to keep
track of all the "interfaces" of a client.  Generally this is for a
multi-homed client, so that the server realizes that you are the same
client when you come from multiple addresses.  However, this also
winds up applying to a mobile host whose IP address changes over time.

When the Fileserver sees a "new" address, it asks the client for its
Uuid and, if that Uuid already exists, it adds this new address to the
list of interfaces for the existing host.  However, it keeps a
callback connection open to the original address.

Here's the problem: Assume the client has callbacks registered with
the server and then disappears from the network.  While the client is
off the net, someone else makes a change that causes that callback to
be broken.  The fileserver can't reach the client, so the break gets
added to the delayed callback list.  The logic is such that no client
requests will be processed by a host while there are outstanding
delayed callbacks to that client.


Now, if the client comes back on the same IP Address, everything works
fine.  The fileserver uses the cached callback connection and the
callbacks are cleared successfully.  However, if the client returns to
the network under a different address, this new address is added to
the existing host structure and then the delayed callbacks are
attempted.  Unfortunately it is using the (invalid) cached connection
to the old IP Address, so the delayed break fails.  Therefore, this
client is locked out of the fileserver until:

        1) the fileserver reboots,
        2) the client returns to the original IP Address, or
        3) All the callbacks timeout on their own.

This patch will fix this problem.  When the client makes a request and
the fileserver tries to break the delayed callbacks, if the breaking
fails then the fileserver will attempt to find a 'working' interface
by probing all the host interfaces for one that responds with the
correct Uuid.  If that succeeds then it resets the cached callback
connection and then breaks the delayed callbacks, thereby regaining
the connection to the client and proceeding with the proper cleanup
before the original request is completed."
2001-03-26 17:51:34 +00:00
Hartmut Reuter
0b70e19056 mrafs-client-extensions-including-afs-int64-20010210
"       Extensions used by MR-AFS in the client. I have added only two
        pioctl-calls which are used by the "fs"-command for a large number
        of MR-AFS specific subcommands. With this modification also the
        data type afs_int64 is introduced because MR-AFS supports large files.
        afs_int64 is either "long long" or a structure consisting of two
        32-bit numbers. We are already running on rs_aix42 a fully large-file
        capable AFS-client, but these changes are still in a beta test and
        not yet added here."
2001-02-10 21:26:14 +00:00
Derrick Brashear
17fdc9038a replace-gets-with-fgets-20001104
replace gets with fgets
based as patch from nneul@umr.edu
2000-11-05 02:21:42 +00:00
Derrick Brashear
fb5bcd00fc Standardize License information 2000-11-04 10:01:08 +00:00
IBM
87c10e8d7f Initial IBM OpenAFS 1.0 tree 2000-11-04 02:13:13 +00:00