Commit Graph

4439 Commits

Author SHA1 Message Date
Jeffrey Altman
ac7471cc33 windows-bplus-20070826
add more DEBUG_BTREE debugging code

in placeEntry() protect against slot equal to zero

fix compareKeys() to only return -1, 0, or 1.
2007-08-27 01:10:15 +00:00
Jeffrey Altman
cd0a515e9f windows-recursion-fix-20070826
protect against a null pointer dereference
2007-08-27 01:04:09 +00:00
Jeffrey Altman
8f9b810bf0 windows-bplus-tree-20070825
== ! =

fix the return code in cm_Rename()
2007-08-25 17:55:07 +00:00
Jeffrey Altman
c8bf408ced windows-bplus-tree-20070823
Windows uses case-insensitive file name pattern matching
but AFS is a case sensitive file system.  The AFS3 directory
format is block based, uses network byte order and
includes a hash table for fast case sensitive lookups.
This causes several problems for the Windows AFS client.
(1) Traversing the directory blocks is cpu expensive
(2) A hash table miss does not indicate that the desired
    entry does not exist.
(3) Determining whether a non-ambiguous inexact match or
    the entry does not exist requires a linear traversal
    of the entire directory.
These issues often result in 100% CPU utilization.

These issues are addressed by building a modified B+ tree for
each directory and then using the B+ tree for searches.

Further improvements can be made by using the B+ tree leaf
nodes for directory enumeration.
2007-08-24 04:19:18 +00:00
Jeffrey Altman
e5ec3ad4fc windows-recursion-fix-20070823
for . and .. find the last time we saw the fid in the list
instead of moving back a fixed count since the parent might
be a symlink or a mount point or both
2007-08-23 21:42:55 +00:00
Jeffrey Altman
c675454e7f windows-makedir-uninitialized-var-20070823
scp must be initialized to NULL to prevent improper evaluation
2007-08-23 17:50:58 +00:00
Jeffrey Altman
985a2e34d6 windows-volstat-log-20070823
must save the log string when it comes from a buffer on the stack
otherwise garbage is logged in afsd.log
2007-08-23 17:47:46 +00:00
Jeffrey Altman
1727d4928f windows-smb-max-path-20070823
the actual max path is 260 not 256
2007-08-23 17:44:43 +00:00
Derrick Brashear
5cae22ea3a checkhost-use-reentrant-list-traversal-20070823
rather than making a copy of the whole hostlist and holding every host, hold
what we need, the _r (not really reentrant) version.
2007-08-23 17:28:54 +00:00
Derrick Brashear
314b3abaff linux-nfs-pag-handling-20070822
don't mishandle pag argument when passed in from e.g. knfs

don't make keyring pag for nfs clients
2007-08-22 20:37:10 +00:00
Jeffrey Altman
10c6021847 windows-fix-recursion-detection-20070822
handle symlinks to absolute paths
2007-08-22 17:09:53 +00:00
Jeffrey Altman
d467431115 windows-newfiles-20070822
add place holders for the B+ tree source files.
2007-08-22 16:59:16 +00:00
Derrick Brashear
c31cfea03d linux-module-error-handling-20070821
be more careful about what we call when, and clean up after ourselves
2007-08-22 03:16:26 +00:00
Derrick Brashear
34bbb13160 nfstrans-updates-20070821
FIXES 1480

fix the knfs error from the v/c/o pioctl changes
2007-08-22 03:12:13 +00:00
Derrick Brashear
2a9ef007a3 linux-modparam-269-updates-20070821
be consistent on 2.6.9 about which MODULE parm family used
2007-08-21 22:27:02 +00:00
Jeffrey Altman
8dd2300a78 windows-afskfw-20070821
return required value that was missing
2007-08-21 09:42:53 +00:00
Jeffrey Altman
d0f62da484 viced-remove-asserts-20070821
remove asserts testing the number of alternate interfaces.
2007-08-21 09:27:37 +00:00
Jeffrey Altman
e9607dcbc7 windows-smb-20070820
correct location of brace due to mis-application of patch
2007-08-20 19:47:05 +00:00
Derrick Brashear
d0a92c7bde find-dcache-just-hold-the-lock-slightly-longer-20070820
we go out of our way to hold xdcache to protect indexTimes elsewhere... there's
no reason to drop it here just before this...
2007-08-20 18:50:16 +00:00
Jeffrey Altman
da79b76e7d tviced-windows-20070820
build serialize_state.c
2007-08-20 18:35:59 +00:00
Alejandro R. Sedeño
5eff5f4ee8 krb4-64bit-tf-kth-or-mit-20070820
based on his patch for mit kerberos
2007-08-20 18:26:15 +00:00
Jeffrey Altman
4a9d15a2e4 windows-fix-recursion-detection-20070819
the recursion detection code did not take "." and ".." into account.
2007-08-20 02:00:48 +00:00
Jeffrey Altman
d71d37bad8 windows-fs_utils-20070819
update prototype for util_GetInt32 for consistency with src/utils/vosparse.c
2007-08-20 01:06:31 +00:00
Russ Allbery
a6fe83d9a6 no-kseal-20070819
Don't build or install kseal by default.  It's a debugging tool with very
limited utility.
2007-08-19 23:04:31 +00:00
Jason Edgecombe
dfb2961b67 man-page-fixes-20070819
More details on how to run check-pod.  Restore the [] markup in the vos
changeloc SYNOPSIS since the flags really are optional.
2007-08-19 23:02:27 +00:00
Jason Edgecombe
fb1cc324a4 man-page-vos-changeloc-more-20070817
Mention vos changeloc in the vos man page.  Also include an incidental fix
to pts source's man page.
2007-08-18 03:28:54 +00:00
Jason Edgecombe
dc5adbeaac man-page-vos-changeloc-20070817
Add a man page for vos changeloc.
2007-08-18 03:24:24 +00:00
Jason Edgecombe
024442b020 man-page-fs-updates-20070817
Add man pages for fs flushall and fs getcalleraccess.
2007-08-18 02:05:42 +00:00
Jason Edgecombe
815ac3c773 man-page-bos-util-20070817
Add a man page for bos_util.
2007-08-18 01:41:39 +00:00
Jason Edgecombe
87efbab4e8 man-page-updates-20070817
Add new man pages for pts interactive, quit, sleep, and source.  Fix POD
errors in a few other man pages and update the to-do list in README.
2007-08-18 00:35:44 +00:00
Jason Edgecombe
a8172fca24 man-page-check-pod-20070817
Add check-pod script to test for POD syntax errors.
2007-08-17 20:57:20 +00:00
Derrick Brashear
25ace7c2c7 aix-dont-use-root-vfs-for-anything-20070815
the cache may not be in /; we basically never need rootvfs
2007-08-16 04:51:06 +00:00
Jeffrey Altman
b20488de08 windows-fs-utils-prototypes-20070813
use ANSI prototypes and function declarations
2007-08-13 20:20:31 +00:00
Jeffrey Altman
35f91f1203 windows-service-manager-20070812
provide the windows service manager with shutdown hints in addition
to startup hints
2007-08-13 03:52:21 +00:00
Jeffrey Altman
a9e7bedcc9 viced-dafs-20070812
include viced_prototypes.h
2007-08-13 03:25:33 +00:00
Jeffrey Altman
c677b79931 windows-remove-is5-20070812
remove last trace of InstallShield5 from build rules
2007-08-13 03:11:55 +00:00
Jeffrey Altman
58d5f38b10 pts-20070811
remove SUPERGROUPS condition for compilation of pts commands:
  Interactive, Quit, Source, Sleep

fix the assignment of 'source' to permit it to function

rename functions to avoid conflicts with Win32 API on Windows

replace bcopy and bzero with memcpy and memset to permit compilation
on Windows

replace ubik_Call(xxx) with ubik_xxx() (testpt.c)

add -DSUPERGROUPS and map.c to NTMakefile
2007-08-12 00:39:33 +00:00
Jeffrey Altman
e7ff4185a5 windows-adjustable-block-size-20070810
New registry value "BlockSize" can be used to specify an alternative
block size.  The default is 4K.  A larger blocksize will be needed if
you want to support a 6TB cache.

Also extend the service startup timeout hint to two minutes to give
the AFS client service more time to startup successfully when the
cache is really large.
2007-08-10 21:38:20 +00:00
Jeffrey Altman
7a042f3ce4 windows-wix-20070810
add a separate description string for the 32-bit afs shell extension
2007-08-10 13:36:24 +00:00
Derrick Brashear
493cad12aa viced-cleanup-head-20070810
fix demand attach rwlock code on macos, fix host tracking code everywhere

only applies to head and 1.5
2007-08-10 05:11:35 +00:00
Jeffrey Altman
25a64a7eb2 windows-aklog-20070809
correct an error message
2007-08-09 23:53:07 +00:00
Rainer Toebbicke
6811175f37 64bit-ticket-file-20070809
fix the ticket files we write on 64 bit
2007-08-09 15:56:51 +00:00
Jeffrey Altman
377689b39a windows-dirty-buffer-optimization-20070808
when storing dirty buffers only store the bytes that are dirty

increase the default chunksize from 128KB to 1MB

remove OVERLAPPED field from cm_buf_t.  It was unused.

add a dummy pointer in order to ensure data structure compatibility
between the checked and release builds.
2007-08-09 06:33:17 +00:00
Jeffrey Altman
d51feff4b2 viced-hash-20070808
(1) fixes a bug that could cause a 'host' structure to not be removed
from the global host list if the 'host' did not possess an interface
list. This would happen with older AFS clients that do not support the
WhoAreYou family of RPCs. Windows clients older than 1.3.80 and old
Transarc UNIX clients.

(2) fixes a bug which could result in ViceLog being called with an
uninitialized 'hoststr' buffer as a parameter.

(3) ensures that only addresses known to belong to the 'host' are
added to the address hash table.  The list of addresses provided by
the client are stored as alternates and are only used when searching
for a client that is no longer accessible on the primary address.
These addresses are not stored in the address hash table within
initInterfaceAddr_r().

The addresses provided by the client should not be added to the hash
table because they have not been verified as belonging to the 'host'
that provided them.  The contents of the list may in fact be completely
unreliable.  Consider the existing UNIX clients that generate the list
at startup and never alter it even after the client has migrated to a
different network.  If two client's both claim the same address,
lookups by address may fail to find the correct one.

a. The client list might contain private address ranges which
are likely to be re-used by many clients allocated addresses
by a NAT.

b. The client list will not include any public addresses that
are hidden by a NAT.

c. Private address ranges that are exposed to the server will
be obtained from the rx connections that use them.

d. Lists provided by the client are not necessarily truthful.
Many existing clients (UNIX) do not refresh the IP address
list as the actual assigned addresses change. The end result
is that they report the initial address list for the lifetime
of the process. In other words, a client can report addresses
that they are in fact not using. Adding these addresses to
the host interface list without verification is not only
pointless, it is downright dangerous.

e. The reported addresses do not include port numbers and
guessing that the port number is 7001 does not work when
port mapping devices such as NATs or some VPNs are in
use.

(4) improves logging to ensure that all references to a 'host' structure
report both a memory address and the IP address/port. this will avoid
confusion *if* more than one 'host' structure is assigned the same
primary address.

(5) logs the UUID along with the client addresses when initializing the
host's interface list. (level 125)

(6) saves memory by using a smaller structure for the UUID hash table
2007-08-08 17:30:20 +00:00
Rainer Toebbicke
f099df38b2 viced-multi-probe-addr-20070808
FIXES 67355

MultiProbeAlternateAddress_r badly indexes the list of interfaces for
clients with multiple IP interfaces, resulting in peers with IP
address 0 port 0 to be created. This in turn results in rxi_sendmsg
errors (on systems where caught early, as on Linux, on others it may
pass unnoticed).
2007-08-08 16:53:17 +00:00
Jeffrey Altman
8c69510d92 windows-afsd-uninit-vars-20070806
FIXES 67126

ensure the connp is set to NULL in case of error
2007-08-07 05:00:06 +00:00
Jason Edgecombe
87d2f5cd3f man-page-vos-size-20070805
Add a new man page for vos size.
2007-08-05 22:58:35 +00:00
Jason Edgecombe
e7742db31f man-page-fs-newalias-20070805
Add a new fs newalias man page.  Add -help to the synopsis and options of
the other new man pages.  Add additional missing links in the fs man page.
Fix some wording in the CellAlias man page.
2007-08-05 22:38:10 +00:00
Jason Edgecombe
95cfc0cfaf man-page-fs-listaliases-20070805
Add manual page for fs listaliases.  Also add the links in the fs(1) man
page and update README more for the current to-do list.
2007-08-05 22:16:47 +00:00
Russ Allbery
e735ef962d man-page-style-20070805
Some style fixes and some additional style documentation in README.
2007-08-05 22:08:22 +00:00