Commit Graph

5574 Commits

Author SHA1 Message Date
Rainer Toebbicke
d158ddb25c fetch64-fstrace-typo-20090112
LICENSE IPL10
FIXES 124113

move l to correct side of % for type printing
2009-01-12 13:24:13 +00:00
Jeffrey Altman
30cfed8e25 rx-statistics-active-flag-20090110
LICENSE MIT

Permit rx statistics gathering to be disabled by setting the
new rx_stats_active variable to 0.  This avoids grabbing the
rx_stats_mutex throughout the execution of the requests and
permits greater concurrency thoughout the library.
2009-01-11 05:53:36 +00:00
Jeffrey Altman
887a6eb59b rx-finer-grained-locking-20090110
LICENSE MIT

not everything should be under the rx_stats_mutex.  doing so
results in too much lock contention.  add new mutexes:
rx_quota_mutex, rx_waiting_mutex, rx_pthread_mutex, and rx_packets_mutex.
Each new mutex protects an associated group of variables.
2009-01-11 05:27:01 +00:00
Jeffrey Altman
5b0e23567e rx-user-socket-buffer-sizes-20090110
LICENSE MIT

if the socket buffer size specified by the configuration is too large
to be applied, do not drop down immediately to 32766 bytes.  Instead
try increasingly smaller values trying to find the largest one that
works.  use the same value for the send buf size as well.
2009-01-11 04:24:37 +00:00
Jeffrey Altman
3162fdd592 rx-rwlocks-no-more-20090110
LICENSE MIT

remove the use of rwlock and restore the use of mutexes.
the rwlocks are actually slower in performance testing.
2009-01-11 04:00:07 +00:00
Simon Wilkinson
f49bf1d919 linux-truncate-race-20090109
LICENSE IPL10
FIXES 124094

avoid a race during truncation which trips an issue when fsx is run
2009-01-09 15:09:14 +00:00
Andrew Deason
2d07a62c38 ac-verbatim-include-undefs-20090109
LICENSE IPL10
FIXES 124077

the undefs for things which are not ac macros ended up outside the ac verbatim
blob. fix it.
2009-01-09 14:50:48 +00:00
Derrick Brashear
80fc888a92 netrestrict-no-wildcard-20090106
LICENSE IPL10

don't misadvertise network wildcard support
2009-01-06 13:40:04 +00:00
Jeffrey Altman
423ab97eee rx-do-not-race-current-packet-20090105
LICENSE MIT

Throughout rx_rdwr.c functions allocate a register variable 'cp'
which is used to optimize access to call->currentPacket.
Unfortunately, if the call->lock is dropped (for example, CV_WAIT)
the synchronization between the two is lost.  This delta re-syncs
'cp' and call->currentPacket after each location where the call->lock
may be dropped.
2009-01-05 23:12:54 +00:00
Jeffrey Altman
e7edfbbf22 windows-license-smgl2rtf-20090105
LICENSE MIT

Ensure that the input string is nul terminated and then instruct
WideCharToMultiByte to compute the length itself instead of passing
in a value that is very likely to be wrong.
2009-01-05 18:16:44 +00:00
Jeffrey Altman
8c4b06a5b6 windows-afsd-freelance-20090105
LICENSE MIT

Bring a bit more sanity to the Freelance code:

1. Add functions cm_FreelanceFetchMountPointString and
   cm_FreelanceFetchFileType to cm_freelance.c.  These functions
   permit the MountPointString and FileType to be obtained within
   cm_GetSCache without requiring knowledge of data structures
   that should be private to cm_freelance.c

2. Enforce the rule that odd vnode values are directory objects.
   The root directory is 1 and everything else must be a multiple
   of two.

3. Use the unique field as an index into the localMountPoints
   array.

4. Fix cm_GetCallback to process freelance data refreshes on
   all objects in the freelance volume not just the root directory.
   If this is not done, an access to \\afs\foo prior to \\afs\all
   being evaluated will cause an unnecessary attempt to send a
   fetch status request to a file server and produce an alldown
   error.
2009-01-05 16:20:08 +00:00
Jeffrey Altman
02cd4c510b rx-packet-count-debugging-20090104
LICENSE MIT

change C preprocessor symbol required for packet count debugging
to RXDEBUG_PACKET
2009-01-05 00:00:08 +00:00
Jeffrey Altman
bf51eaca47 windows-client-config-manifest-20090104
LICENSE MIT
FIXES 123889

reverse change from 20081226.  removing the auto-generated manifest
removes the manifest binding to the run time library.  The reason
two manifests are specified is that we are merging them.
2009-01-04 19:19:31 +00:00
Jeffrey Altman
29e3bb5838 rx-packet-count-debugging-20081229
LICENSE MIT

Validating the state of the rx library is hard.  This patch makes it
a bit easier to validate from within crash dumps (or on Windows in
"fs memdump" output) whether rx packets and calls are in a sane state.
When the library is compiled with -DDEBUG the rx_call and rx_packet
data structures are extended to include a linked list of all allocated
objects and counters are added to track the number of packets on each
of the transmit, receive, and iovec queues.

This compliments the tracking of packet states via RX_PKTFLAGs.

For Windows, rx_DumpCalls and rx_DumpPackets functions are added
that will dump the state of all allocated calls and packets (in Checked
build) in response to a "fs memdump" command.  These functions are
exported from afsrpc.dll.
2008-12-29 22:36:32 +00:00
Andrew Deason
3d44f93f9a libuafs-updates-20081229
LICENSE IPL10
FIXES 124072

adds ATTR_* constants for UKERNEL code, and makes use
of them. Without this in some cases updating file metadata will also
update unrelated metadata (e.g. truncating a file changes the mode
bits).

adds threadsafe positional i/o calls to
afs_usrops.c: uafs_pwrite and uafs_pread, allowing for threadsafe
libuafs i/o.

changes the types of some fs-related
variables to be more "correct", I think (off_t for offsets, mode_t for
file mode, etc), it fixes a bug where nDaemons is not correctly set from
the uafs_Init parameter, fixes a segfault in uafs_open when O_CREAT is
specified, initializes a couple of static vars, "#if 0"s out code that
copies tokens from kernel-space to user-space (doesn't seem to work from
what I've seen, and the current code crashes on clientless Solaris
machines from being killed by SIGSYS)
2008-12-29 21:26:00 +00:00
Derrick Brashear
c11eb4c333 macos-103-fixes-20081229
LICENSE IPL10

make macos 10.3 work again
2008-12-29 17:29:06 +00:00
Jeffrey Altman
d0cc6eb2f5 rx-rdwr-writeproc-race-20081228
LICENSE MIT
FIXES 123799

prevent rx_WriteProc() from passing a packet to rxi_PrepareSendPacket()
that has been freed and possibly allocated to another call.
2008-12-28 21:04:23 +00:00
Jeffrey Altman
8f3e660270 windows-smb-fs-attr-info-20081227
LICENSE MIT

even though the docs for FILE_FS_ATTRIBUTE_INFORMATION state
that the MaximumComponentNameLength field is in bytes, it turns
out that Windows SMB servers return the value in characters.

Reduce the reported value to 255 to match NTFS.
2008-12-28 04:41:38 +00:00
Jeffrey Altman
f70ba20320 windows-libafsrpc-makefile-20081227
LICENSE MIT

additional defines are to be appended to AFSDEV_AUXCDEFINES,
they are not supposed to replace the prior definition
2008-12-27 19:22:26 +00:00
Jeffrey Altman
a09a1709f6 windows-afsd-fs-attr-info-20081226
LICENSE MIT

Pointed out by jason edgecombe.  the AFS SMB server failed to report
the FILE_UNICODE_ON_DISK characteristic when responding to
TRANS2_QUERY_FS_INFORMATION.
2008-12-27 06:01:09 +00:00
Jeffrey Altman
f18b54bfe6 windows-install-nsis-20081226
LICENSE MIT

permit the location of the NSIS application to be configurable
2008-12-27 02:53:55 +00:00
Matt Benjamin
06468cb939 windows-client-config-manifest-20081226
LICENSE BSD
FIXES 123889

remove extraneous reference to the output manifest file which resulted
in two manifests being generated with conflicting UAC values.
2008-12-27 02:27:34 +00:00
Jeffrey Altman
61aa1b199c windows-afsd-btree-lookups-20081226
LICENSE MIT

when performing a lookup operation it is acceptable for the data version
of the btree to be greater than the data version of the cm_dirOp_t
under which the operation is being performed.  No change to the btree
can take place and the result of the lookup will maintain consistency
without requiring an additional restart of the directory operation.
2008-12-26 23:40:14 +00:00
Jeffrey Altman
4435c4fdcc windows-afsd-dir-prefetch-20081226
LICENSE MIT

when prefetching the directory buffers do not call cm_FlushFile to
discard locally modified buffers.  Instead just set the cm_scache_t
bufDataVersionLow to the current version.  out of date buffers will
therefore be ignored without requiring that locks be dropped and
reacquired and without searching all of the buffers associated with
the directory.
2008-12-26 23:34:26 +00:00
Jeffrey Altman
9784a9f0cc windows-afsd-max-daemons-20081226
LICENSE MIT

permit the number of daemon threads to be increased to 64 instead of
a maximum of 8.
2008-12-26 23:29:22 +00:00
Jeffrey Altman
9e2d9f6fa8 windows-afsd-rename-collision-20081226
LICENSE MIT

Do not permit cm_Rename() to rename an existing object such that it
creates a case-insensitive name collision with another object.
This change in behavior is consistent with the restrictions when
creating new objects.  This change prevents the explorer shell from
getting confused when it creates a new folder.
2008-12-26 23:26:09 +00:00
Jeffrey Altman
238ad07e13 windows-pioctl-drive-subst-20081226
LICENSE MIT

GetDriveType() will return "REMOTE" for drive letters that are mapped
to network devices via the SUBST command.  Recursively check drive letters
for the final substitution before checking to see if the drive letter
is in fact an AFS device.
2008-12-26 21:17:49 +00:00
Matt Benjamin
411a63fb06 windows-afsd-findserverbyip-refcount-20081223
LICENSE BSD
FIXES 124054

reference count the server object returned by cm_FindServerByIP
2008-12-23 20:42:38 +00:00
Derrick Brashear
556b978051 solaris-largepartition-interface-20081222
LICENSE IPL10

add support for using statvfs64 on solaris
2008-12-22 20:34:12 +00:00
Derrick Brashear
72cb3a5f18 ubik-serverinit-clones-correction-20081222
LICENSE IPL10

as pointed out by Simon Wilkinson
2008-12-22 19:22:57 +00:00
Tom Kula
d2ae1c9952 vol-dump-incr-largefile-support-20081222
LICENSE IPL10
FIXES 123984

add large file support for >2gb dumps; add incremental support
2008-12-22 19:01:46 +00:00
Jeffrey Hutzelman
0c52c9b3d9 doxygen-getfid-correction-20081222
LICENSE IPL10

correct out param description
2008-12-22 17:30:58 +00:00
Derrick Brashear
c69fa8fef4 rx-idledead-only-ignore-keepalives-20081222
LICENSE IPL10

critical to not ignore e.g. other acks
2008-12-22 17:14:36 +00:00
Jeffrey Altman
992ec09633 rxgen-cpp-definition-20081221
LICENSE MIT
FIXES 124011

avoid "ologo" compilation error messages due to buffer overflow in rxgen
on Windows.  research performed by mlane@sinenomine.net.
2008-12-21 06:05:12 +00:00
Jeffrey Altman
46abfec0c7 tweak-vicelog-macros-20081221
LICENSE IPL10

add missing semi-colons left out from DELTA tweak-vicelog-macros-20081218
2008-12-21 05:58:20 +00:00
Jeffrey Altman
dbc92bde39 audit-consolidate-open-20081221
LICENSE IPL10
FIXES 123923

fix audit-consolidate-open-20081217 which broke the Windows build.
2008-12-21 05:46:29 +00:00
Simon Wilkinson
12297b9588 tweak-vicelog-macros-20081218
LICENSE IPL10

deal with macro semicolon confusion for vicelog
2008-12-18 14:05:10 +00:00
Steve McIntosh
539dc6f501 audit-consolidate-open-20081217
LICENSE IPL10
FIXES 123923

consolidate opening auditlog in one place; make opening nonblock easier
2008-12-17 18:14:41 +00:00
Steve McIntosh
8271c1674f auditlog-fids-20081217
LICENSE IPL10
FIXES 123922

make auditlog process multiple fids correctly
2008-12-17 18:11:43 +00:00
Jeffrey Altman
dc4429487f windows-afsd-smb-error-mapping-20081217
LICENSE MIT

map ENOMEM to STATUS_OUT_OF_MEMORY
2008-12-17 16:19:22 +00:00
Derrick Brashear
df90f5510a irix-prototype-fixage-20081216
LICENSE IPL10

more cleanup to make prototypes match functions on irix
2008-12-16 21:48:53 +00:00
Derrick Brashear
dfc38ea7e9 irix-close-vnop-typo-20081216
LICENSE IPL10

fix irix close vnop prototype to be correct
2008-12-16 21:05:20 +00:00
Garry Zacheiss
00d5f88fa5 butc-xbsa-64bit-linux-20081215
LICENSE IPL10

use the 64 bit libraries when built for amd64
2008-12-15 22:20:37 +00:00
Derrick Brashear
1754101972 fbsd71-like-current-20081215
LICENSE IPL10
FIXES 123917

rpc is in sys now, like in current. tweaked from matt's patch to also
deal with amd64
2008-12-15 20:50:57 +00:00
Matt Benjamin
c63e2541e5 amd64-fbsd-20081215
LICENSE IPL10
FIXES 123811

add support for fbsd 7.1, amd64 fbsd
2008-12-15 20:37:51 +00:00
Derrick Brashear
b147521611 aix-prototype-fixes-20081215
LICENSE IPL10

make the prototyping changes work on aix
2008-12-15 19:12:04 +00:00
Derrick Brashear
7714162e9a solaris-vnop-prototyping-20081213
LICENSE IPL10

make the head sane on solaris again
2008-12-13 21:30:55 +00:00
Derrick Brashear
1f9467f9b7 eliminate-cplusplus-style-comments-20081209
LICENSE IPL10

aix compiler hates // style comments
2008-12-09 17:04:45 +00:00
Jeffrey Altman
9123966e43 windows-afsd-ntstatus-wouldblock-20081208
LICENSE MIT

Change the mapping of CM_ERROR_WOULDBLOCK from
STATUS_LOCK_NOT_GRANTED to STATUS_CANT_WAIT.
STATUS_LOCK_NOT_GRANTED is used to indicate
CM_ERROR_LOCK_NOT_GRANTED.
2008-12-08 16:25:40 +00:00
Derrick Brashear
8166bd1d19 missing-comerr-header-includes-20081130
LICENSE IPL10
FIXES 123676

include com_err header in places where it's not so afs_error_message et al
exist
2008-11-30 20:24:12 +00:00