openafs.git
16 years agowindows-freelance-20080328
Jeffrey Altman [Fri, 28 Mar 2008 14:01:03 +0000]
windows-freelance-20080328

LICENSE MIT

1. return CM_ERROR_NOSUCHFILE when attempting to remove a symlink or
   mount point that does not exist

2. When adding a new symlink or mountpoint, be sure to increment the
   number of local mount points

3. When re-initializing the fake root.cell the unique value is always
   one, not two.  Use cm_FidCmp() to compare fids.  The use of the
   value two prevented the invalidation of existing values because all
   of the directory entries are created with the unique set to one.

16 years agopinstall-collateral-damage-20080327
Derrick Brashear [Fri, 28 Mar 2008 04:41:00 +0000]
pinstall-collateral-damage-20080327

LICENSE IPL10

it's really easy to get into install-sh relative path hell. work around it.

16 years agokrb5-klog-solaris-krb-20080327
Douglas Engert [Thu, 27 Mar 2008 18:48:22 +0000]
krb5-klog-solaris-krb-20080327

LICENSE IPL10
FIXES 91573

no krb5_mcc_ops on solaris krb5. cope

16 years agoptutil-swap-epoch-version-as-needed-20080327
Derrick Brashear [Thu, 27 Mar 2008 18:39:57 +0000]
ptutil-swap-epoch-version-as-needed-20080327

LICENSE IPL10
FIXES 90869

do byteswapping of epoch and version so we print and compare sensibly

16 years agovolser-higher-thread-limit-20080327
Derrick Brashear [Thu, 27 Mar 2008 16:20:29 +0000]
volser-higher-thread-limit-20080327

LICENSE IPL10

with tvolser we can increase this and actually *see benefit*, so...

16 years agodafs-vshutdown-match-id-to-params-20080327
Alistair Ferguson [Thu, 27 Mar 2008 16:16:02 +0000]
dafs-vshutdown-match-id-to-params-20080327

LICENSE IPL10

we track shutdown thread parms as index rather than device; deal correctly

16 years agolinux-dont-flush-writes-on-exec-20080326
Chas Williams [Wed, 26 Mar 2008 04:16:51 +0000]
linux-dont-flush-writes-on-exec-20080326

LICENSE IPL10
FIXES 17509

because of when fds are NULL'd in file_table this should work except when one process has the same file open for read and for write in different FDs; otherwise, the last write fd to close collects the error.

16 years agolinux-restore-iget-cachemgr-20080326
Marc Dionne [Wed, 26 Mar 2008 04:10:26 +0000]
linux-restore-iget-cachemgr-20080326

LICENSE IPL10
FIXES 88000

restore the d_alloc_anon we need

16 years agowindows-vlserver-include-path-20080323
Jeffrey Altman [Sun, 23 Mar 2008 14:10:42 +0000]
windows-vlserver-include-path-20080323

LICENSE MIT

Fix the INCFILEDIR definition so that the INCFILES actually exist

16 years agolinux-2625-update-20080322
Marc Dionne [Sun, 23 Mar 2008 00:53:29 +0000]
linux-2625-update-20080322

LICENSE IPL10
FIXES 88000

update 2.6.25 patch to hopefully cover what we need better

16 years agowindows-aklog-cleanup-20080321
Jeffrey Altman [Sat, 22 Mar 2008 00:19:03 +0000]
windows-aklog-cleanup-20080321

LICENSE MIT

make krb5_context global.  wrap all calls to exit() in a new function,
akexit(), which performs cleanup of the krb5_ccache and the krb5_context.

16 years agoaix-unix-sockets-fix-200803221
Tom Keiser [Fri, 21 Mar 2008 16:59:03 +0000]
aix-unix-sockets-fix-200803221

LICENSE IPL10
FIXES 88088

use aix's macro for the size of sockaddr_un

16 years agowindows-aklog-20080320
Jeffrey Altman [Fri, 21 Mar 2008 12:20:21 +0000]
windows-aklog-20080320

LICENSE MIT

Windows Error Reports indicate that sometimes the krb5_cc_default()
call must be failing because krb5_cc_principal is being called with
a NULL ccache value.  Perform error checking and cleanup that was
not previously implemented.

16 years agowindows-pioctl-disable-service-mgr-check-20080320
Jeffrey Altman [Fri, 21 Mar 2008 04:15:47 +0000]
windows-pioctl-disable-service-mgr-check-20080320

LICENSE MIT

Adds HKLM\\Software\\OpenAFS\\Client  DisableIoctlSMCheck

For use in setting tokens when afsd_service.exe is started without
use of the NT Service Manager.  Permits profiling authenticated
operations.

16 years agowindows-max-cells-20080319
Jeffrey Altman [Thu, 20 Mar 2008 00:00:28 +0000]
windows-max-cells-20080319

LICENSE MIT

Add CM_CONFIGDEFAULT_CELLS (1024) to cm_config.h and a "Cells" registry
value that can be used to alter the limit at runtime.

No longer tie the number of cells to the number of stat cache objects.
1024 should be more than sufficient.

16 years agowindows-volume-dotdotFid-20080319
Jeffrey Altman [Wed, 19 Mar 2008 20:17:04 +0000]
windows-volume-dotdotFid-20080319

LICENSE MIT

The volume dotdotFid field should have moved into the cm_volstate_t
object as there can be different parents for rw, ro, and bk volumes.

16 years agowindows-no-more-afsdifs-20080319
Jeffrey Altman [Wed, 19 Mar 2008 15:34:48 +0000]
windows-no-more-afsdifs-20080319

LICENSE MIT

do not include a header that no longer exists

16 years agowindows-remove-umich-afsifs-20080319
Jeffrey Altman [Wed, 19 Mar 2008 13:57:36 +0000]
windows-remove-umich-afsifs-20080319

LICENSE MIT

The UMich AFS IFS code has never been made ready for production.
An alternative approach is currently being worked on that will be.

16 years agowindows-parseacl-20080319
Jeffrey Altman [Wed, 19 Mar 2008 13:22:02 +0000]
windows-parseacl-20080319

LICENSE MIT

Protect against invalid data being passed into ParseAcl and
corrupting the stack.  This affects both fs.exe and the explorer
shell extension.

Windows Error Reporting in recent weeks has begun to report several
instances of stack corruption in the explorer shell extension from
Denmark and Germany.

16 years agowindows-remove-umich-afsifs-20080318 BP-openafs-windows-kdfs-ifs
Jeffrey Altman [Tue, 18 Mar 2008 16:44:39 +0000]
windows-remove-umich-afsifs-20080318

LICENSE MIT

The UMich AFS IFS code has never been made ready for production.
An alternative approach is currently being worked on that will be.

16 years agodafs-kill-xcpu-dump-vlru-stats-20080318
Tom Keiser [Tue, 18 Mar 2008 16:05:09 +0000]
dafs-kill-xcpu-dump-vlru-stats-20080318

LICENSE BSD

this will dump the current dafs vlru state on kill -XCPU (just as we dump other fileserver state)

that state is
VLRU is a garbage collection facility which automatically offlines
volumes in the background. The purpose of this facility is to
proactively offline infrequently used volumes to improve shutdown and
salvage times. The process of offlining a volume from the "attached"
state to the "pre-attached" state is called soft detachment.

VLRU works in a manner similar to a generational garbage collector.
There are five queues on which volumes can reside: new, intermediate,
old, held, and candidate:

held:

queue for volumes which are administratively barred from VLRU activity

candidate:

queue for volumes which have not been accessed recently, and are thus
candidates for soft detachment

new, intermediate, old:

generational queues for active volumes; state transitions controlled by
inactivity timers.

State transition timeouts are as follows:

candidate->new activity present
new->candidate (1*vlruthresh) minutes since last transition; no activity
new->mid (2*vlruthresh) minutes since last transition; activity
present
mid->old (4*vlruthresh) minutes since last transition; activity
present
old->mid (2*vlruthresh) minutes since last transition; no activity
mid->new (1*vlruthresh) minutes since last transition; no activity

16 years agopts-process-input-file-and-exit-20080318
Kevin McBride [Tue, 18 Mar 2008 15:58:40 +0000]
pts-process-input-file-and-exit-20080318

LICENSE IPL10

 The pts program has a command 'source' to read commands from
 a file.  In the interactive "shell" mode, this command works,
 reading and executing commands until the end of the file and
 then returning to the command shell.

 This command is valid for use as a command line option, but
 does not work. It requires a valid filename as an argument,
 but does not process the file, instead just dropping the user
 into the interactive mode.

 When given as a command line option, pts source SHOULD read
 the file, execute the commands and then exit, according to
 the documentation. It does not currently do this and should
 be fixed.

16 years agohpux1123-sysname-detection-20080317
Chaskiel M Grundman [Mon, 17 Mar 2008 18:07:36 +0000]
hpux1123-sysname-detection-20080317

LICENSE IPL10
FIXES 89125

add the 11.23 sysname

16 years agoafs-nostats-xstats-start-cmtime-noop-20080317
Chas Williams [Mon, 17 Mar 2008 18:02:53 +0000]
afs-nostats-xstats-start-cmtime-noop-20080317

LICENSE IPL10
FIXES 90528

add missing noop so we can build with stats disabled

16 years agorx-nacks-increment-with-all-newacks-20080317
Chas Williams [Mon, 17 Mar 2008 17:56:38 +0000]
rx-nacks-increment-with-all-newacks-20080317

LICENSE IPL10

don't "lose" newacks, apply all of them to the ack count

16 years agolinux-nfstrans-readme-20080317
Jeffrey Hutzelman [Mon, 17 Mar 2008 17:48:35 +0000]
linux-nfstrans-readme-20080317

LICENSE IPL10

readme for linux nfs translator and extensions

16 years agovolser-handle-malloc-failure-20080317
Derrick Brashear [Mon, 17 Mar 2008 17:14:01 +0000]
volser-handle-malloc-failure-20080317

LICENSE IPL10

allocate memory for all rx OUT parameters in stubs to avoid crashes.

16 years agosolaris11-update-20080317
Mattias Pantzare [Mon, 17 Mar 2008 16:51:55 +0000]
solaris11-update-20080317

LICENSE IPL10

update solaris 11. probably we should do configure tests instead for
these things, since they're sort of "moving target"

16 years agodafs-readme-20080317
Steven Jenkins [Mon, 17 Mar 2008 16:39:03 +0000]
dafs-readme-20080317

LICENSE IPL10

update README to mention DAFS setup and build options

16 years agodafs-accurately-track-inuse-20080317
Tom Keiser [Mon, 17 Mar 2008 17:06:30 +0000]
dafs-accurately-track-inuse-20080317

LICENSE IPL10

keep accurate tabs on whether a volume is "in use" so we don't end up with volume state that's nonsensical.

====================
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.
====================
LICENSE IPL10

keep accurate tabs on whether a volume is "in use" so we don't end up with volum
e state that's nonsensical.

====================
LICENSE IPL10

keep accurate tabs on whether a volume is "in use" so we don't end up with volum
e state that's nonsensical.

16 years agorx-clock-backward-detection-20080317
Derrick Brashear [Mon, 17 Mar 2008 15:38:15 +0000]
rx-clock-backward-detection-20080317

LICENSE IPL10

if the clock goes backwards, detect it and reset any rx events to run in a timely manner

16 years agodemand-attach-docs-20080314
Steven Jenkins [Fri, 14 Mar 2008 18:05:00 +0000]
demand-attach-docs-20080314

LICENSE IPL10

Additional documentation for the demand attach file server, plus a state
diagram.

16 years agowindows-callback-20080314
Jeffrey Altman [Fri, 14 Mar 2008 16:53:37 +0000]
windows-callback-20080314

LICENSE MIT

Protect against a null volp

16 years agowindows-max-volumes-20080314
Jeffrey Altman [Fri, 14 Mar 2008 16:16:14 +0000]
windows-max-volumes-20080314

LICENSE MIT

Propagate the max volumes value into cm_memmap

16 years agovol-dafs-aix-fixes-20080313
Tom Keiser [Fri, 14 Mar 2008 04:41:20 +0000]
vol-dafs-aix-fixes-20080313

LICENSE IPL10
FIXES 88087

* xlc doesn't support the inline keyword unless C99 is enabled
* xlc won't parse enumerations with trailing commas

16 years agolwp-fixprotos-20080313
Simon Wilkinson [Thu, 13 Mar 2008 13:42:06 +0000]
lwp-fixprotos-20080313

LICENSE IPL10
FIXES 89857

make everything match, and make *ep take void and not a pointer

16 years agorx-mutex-interlocked-macros-20080312
Jeffrey Altman [Thu, 13 Mar 2008 12:56:31 +0000]
rx-mutex-interlocked-macros-20080312

LICENSE IPL10

fix from sxw@inf.ed.ac.uk

16 years agowindows-remove-scache-volp-20080312
Jeffrey Altman [Thu, 13 Mar 2008 04:37:44 +0000]
windows-remove-scache-volp-20080312

LICENSE MIT

The cm_scache structure has included a reference to the associated cm_volume_t,
volp.  By doing so the reference count on the cm_volume_t objects never hits
zero unless all of the cm_scache_t objects in that volume have been reused.
This prevents cm_volume object recycling.

This commit removes the hard reference and instead adds a function
cm_GetVolumeByFID which obtains a reference to the cm_volume that matches
the cm_scache fid value as needed.

A new "Volumes" registry value is added to permit explicit specification
of the number of volume objects to be allocated.

16 years agolinux-2625-20080312
Marc Dionne [Thu, 13 Mar 2008 02:23:57 +0000]
linux-2625-20080312

LICENSE IPL10

add missing bits

16 years agowindows-client-config-pt-20080311
Jeffrey Altman [Wed, 12 Mar 2008 05:46:01 +0000]
windows-client-config-pt-20080311

LICENSE MIT

typo in pt_BR language resource file

16 years agorx-no-interlockedadd-20080311
Jeffrey Altman [Wed, 12 Mar 2008 05:12:54 +0000]
rx-no-interlockedadd-20080311

LICENSE IPL10

InterlockedAdd is only supported on Itanium

16 years agoman-page-fileserver-update-20080311
Steven Jenkins [Wed, 12 Mar 2008 01:28:00 +0000]
man-page-fileserver-update-20080311

LICENSE IPL10

Update the fileserver documentation for demand-attach and add documentation
of other missing options and notes where some options are only applicable
with particular builds.

16 years agorx-mutex-interlocked-macros-20080311
Jeffrey Altman [Tue, 11 Mar 2008 18:23:23 +0000]
rx-mutex-interlocked-macros-20080311

LICENSE IPL10

Introduce a new set of macros that can be used to permit either mutex
based protection or Interlocked operation protection increments,
decrements, or additions.

  rx_MutexIncrement(object, mutex)
  rx_MutexAdd(object, addend, mutex)
  rx_MutexDecrement(object, mutex)
  rx_MutexAdd1Increment2(object1, addend, object2, mutex)
  rx_MutexAdd1Decrement2(object1, addend, object2, mutex)

For Windows these are implemented with the Interlocked operations
for other platforms the existing mutex is relied upon.

Only a subset of the rx_stats parameters have been transitioned at the
current time.

16 years agolwp-protoize-20080310
Simon Wilkinson [Tue, 11 Mar 2008 17:46:58 +0000]
lwp-protoize-20080310

LICENSE IPL10

protoize lwp. make it match pthreads' idea of createprocess

16 years agowindows-lwp-proto-20080311
Jeffrey Altman [Tue, 11 Mar 2008 17:00:18 +0000]
windows-lwp-proto-20080311

LICENSE IPL10

Fix breakage caused by recent lwp prototyping.

16 years agolinux-2625-20080310
Derrick Brashear [Mon, 10 Mar 2008 18:50:47 +0000]
linux-2625-20080310

LICENSE IPL10

adapted from marc dionne's patch, but works more directly like the darwin port,
further, i'm guessing iget_locked will go away evewntually. maybe this is
too conservative?

16 years agowindows-client-config-misc-dlg-20080310
Jeffrey Altman [Mon, 10 Mar 2008 18:16:29 +0000]
windows-client-config-misc-dlg-20080310

LICENSE MIT

The Daemon and Server Threads fields were swapped.

16 years agokeyring-updated-20080310
Simon Wilkinson [Mon, 10 Mar 2008 16:44:16 +0000]
keyring-updated-20080310

LICENSE IPL10

revise keyring patch to avoid detection problems with keyring_type_key

16 years agohpux-param-updates-20080310
Derrick Brashear [Mon, 10 Mar 2008 16:22:12 +0000]
hpux-param-updates-20080310

LICENSE IPL10

based on suggestion from cg2v@andrew.cmu.edu

16 years agowindows-afs-execute-only-20080309
Jeffrey Altman [Sun, 9 Mar 2008 15:21:39 +0000]
windows-afs-execute-only-20080309

LICENSE MIT

If we want to enforce the open for read flag in smb_ReadData we must
also check for execute access.  We map execute access to read access
because AFS doesn't have a separate permission for that.

16 years agoman-page-afsd-afsdb-20080308
Jason Edgecombe [Sun, 9 Mar 2008 05:57:29 +0000]
man-page-afsd-afsdb-20080308

LICENSE BSD
FIXES 89288 89289

Reference RFC 1183 in the AFSDB documentation.

16 years agopt-util-com-err-20080308
Simon Wilkinson [Sun, 9 Mar 2008 01:40:14 +0000]
pt-util-com-err-20080308

LICENSE IPL10

prototype afs_error_message() to ensure correct behavior on 64-bit
systems with 32-bit int.

16 years agowindows-installer-rxmaxmtu-setting-20080308
Jeffrey Altman [Sat, 8 Mar 2008 23:38:08 +0000]
windows-installer-rxmaxmtu-setting-20080308

LICENSE MIT

change the RxMaxMtu setting to 0 to restore default
behavior (aka performance).  The Cisco VPN 5.0.01.0600
client no longer requires a reduced mtu size for compatibility
with AFS.

16 years agowindows-config-20080308
Jeffrey Altman [Sat, 8 Mar 2008 23:31:52 +0000]
windows-config-20080308

LICENSE MIT

raise the daemon count to 4 now that we have a means of avoiding
contention

raise the tracebufsize to 10000 entries

16 years agowindows-syscfg-getifinfo-20080308
Jeffrey Altman [Sat, 8 Mar 2008 23:23:48 +0000]
windows-syscfg-getifinfo-20080308

LICENSE MIT

syscfg_GetIFInfo() obtains the current list of IP addresses.
Its a really expensive operation.  Call the function once
and cache the data until the next IP address change instead
of calling it everytime we receive a WhoAreYou or construct a
new server object.  Adds a new global rw lock, cm_syscfgLock

16 years agowindows-scache-20080308
Jeffrey Altman [Sat, 8 Mar 2008 23:17:45 +0000]
windows-scache-20080308

LICENSE MIT

do not discard data buffers we wish to keep

16 years agowindows-performance-deadlock-20080308
Jeffrey Altman [Sat, 8 Mar 2008 23:15:54 +0000]
windows-performance-deadlock-20080308

LICENSE MIT

correct a deadlock when calling HaveCallback

16 years agowindows-cm-callback-remove-call-mutex-hold-20080308
Jeffrey Altman [Sat, 8 Mar 2008 15:43:45 +0000]
windows-cm-callback-remove-call-mutex-hold-20080308

LICENSE MIT

Remove all of the code in #ifdef HOLD_CALL_MUTEX as we no longer
use it.

16 years agowindows-eventlog-20080308
Jeffrey Altman [Sat, 8 Mar 2008 14:15:43 +0000]
windows-eventlog-20080308

LICENSE MIT

we need set privilege not query privilege

16 years agowindows-cm-performance-tuning-200803007
Jeffrey Altman [Fri, 7 Mar 2008 22:22:21 +0000]
windows-cm-performance-tuning-200803007

LICENSE MIT

This is a first cut at a cache manager statistics monitor
that can be used to determine the necessary cache parameters
to support the working set.

Off by default the performance package can be activated
by setting "daemonPerformanceTuningInterval" in the service
Parameters key.  As with the other daemon interval values
the unit is in seconds.

At service start and each succeeding interval the cache
manager will write statistics to %TEMP%\afsd_performance.txt
showing the relative usage of cm_scache_t, cm_volume_t and
cm_buf_t objects.  The FID statistics keep track of all FIDs
seen by the cache manager during the service session whether
or not they are backed by any live object in the cache.

These statistics are not stored in the cache file.

16 years agowindows-cm-conn-20080307
Jeffrey Altman [Fri, 7 Mar 2008 22:14:41 +0000]
windows-cm-conn-20080307

LICENSE MIT

Convert cm_conn_t reference counts to use Interlocked operations.
This permits several cm_serverLock holds to be converted to read
locks.

Add string translation for VL errors to cm_Analyze().

Permit RXKAD errors other than RXKADEXPIRED to be treated as
non-fatal.  Instead immediately retry an alternate server if
there is one.  This will permit the client to continue to
access replicated data from an alternate site if one of the
file servers is misconfigured.

16 years agowindows-cm-server-interlocked-20080307
Jeffrey Altman [Fri, 7 Mar 2008 22:07:40 +0000]
windows-cm-server-interlocked-20080307

LICENSE MIT

Convert cm_server_t reference counts to use Interlocked
operations.  This permits almost all of the cm_serverLock
holds to be converted to read locks.

Add missing cm_PutServerNoLock() calls in the multi_Rx
version of cm_CheckServers().  (Thanks to Asanka)

16 years agowindows-vl-noent-response-20080308
Jeffrey Altman [Fri, 7 Mar 2008 22:02:22 +0000]
windows-vl-noent-response-20080308

LICENSE MIT

Prior to looking up a volume in the vldb the cm_volume_t
object is constructed.  If the response is VL_NOENT the
cm_volume_t object should be removed and place at the
head of the recycling list so that we do not recycle
something we might actually care about.

Convert more cm_volumeLock holds to read locks now
that we are using Interlocked operations to manipulate
the reference counts.

16 years agowindows-scache-verification-20080307
Jeffrey Altman [Fri, 7 Mar 2008 17:44:40 +0000]
windows-scache-verification-20080307

LICENSE MIT

Add a hash value verification check for stat cache entries

16 years agowindows-rxstats-default-20080307
Jeffrey Altman [Fri, 7 Mar 2008 17:37:35 +0000]
windows-rxstats-default-20080307

LICENSE MIT

set the defaults for RxEnablePeerStats and RxEnableProcessStats back
to 1 (on) so admins are not surprised.

16 years agofakestat-access-for-nautilus-20080307
Simon Wilkinson [Fri, 7 Mar 2008 17:30:19 +0000]
fakestat-access-for-nautilus-20080307

LICENSE IPL10

in order that nautilus' .directory checks can work without stat()ing every damn
thing, do what we do for the mac, basically.

16 years agowindows-smb-writedata-crash-20080307
Jeffrey Altman [Fri, 7 Mar 2008 15:35:38 +0000]
windows-smb-writedata-crash-20080307

LICENSE MIT
FIXES 88731

If an application opens a file for read only and then attempts to
write to it, we would attempt to release an scp mutex without having
obtained either the scp or the mutex within smb_WriteData

There was no check in smb_ReadData to ensure that the file was opened
for reading.  Add one.

16 years agowindows-interlocked-volume-refcount-20080306
Jeffrey Altman [Fri, 7 Mar 2008 01:03:45 +0000]
windows-interlocked-volume-refcount-20080306

LICENSE MIT

Switch cm_volume_t objects to InterlockedIncrement/InterlockedDecrement
for reference counting.

Remove protections against null pointers being passed into cm_GetVolume()
Instead, do not call cm_GetVolume() if the pointer is NULL.

Fix a buffer data version comparison that should be bad version number
instead of <= 0.

16 years agodafs-restarting-error-change-20080306
Derrick Brashear [Thu, 6 Mar 2008 16:54:33 +0000]
dafs-restarting-error-change-20080306

LICENSE IPL10

on VSALVAGE the client will correctly resort its list and fail over to
other replicas, but only for RO where there is more than one replica,
obviously; since in dafs we expect to only delay on salvage this is the most
useful course of action

16 years agopioctl-settoken-malloc-fail-check-20080206
Derrick Brashear [Thu, 6 Mar 2008 16:41:14 +0000]
pioctl-settoken-malloc-fail-check-20080206

LICENSE IPL10

avoid malloc failure panic (oops)

16 years agowindows-afsd-misc-20080306
Jeffrey Altman [Thu, 6 Mar 2008 14:33:09 +0000]
windows-afsd-misc-20080306

LICENSE MIT

(1) an attempt to make better use of bandwidth from the BkgDaemon threads
    by preventing the thread from blocking on a vnode that is already
    storing data in another thread

(2) prevents CM_SCACHEFLAG_ASYNCSTORE from being reset on a write failure.

(3) fixes cm_EvaluateSysName to avoid accessing uninitialized memory

(4) prevents a lock leak if the symlink's mountpointstring is too long.
    (This could never actually happen but better to correct the code.)

16 years agolarge-partition-support-20080305
Derrick Brashear [Wed, 5 Mar 2008 21:51:19 +0000]
large-partition-support-20080305

LICENSE IPL10
FIXES 88811

support partitions over 2tb

16 years agowindows-scache-mx-to-rw-20080302
Jeffrey Altman [Mon, 3 Mar 2008 04:24:17 +0000]
windows-scache-mx-to-rw-20080302

LICENSE MIT

Replace the cm_scache_t mutex with a rwlock permitting a small amount
of additional parallelization in places where it is safe to use read
locks instead of write locks.  All functions that eventually call
cm_SyncOp must use write locks.

16 years agowindows-cm_buf-20080302
Jeffrey Altman [Sun, 2 Mar 2008 21:53:42 +0000]
windows-cm_buf-20080302

LICENSE MIT

remove unused constants, data structures and fields

16 years agowindows-asyncstore-again-20080301
Jeffrey Altman [Sat, 1 Mar 2008 18:58:54 +0000]
windows-asyncstore-again-20080301

LICENSE MIT

must write the entire asyncstoresize otherwise dirty buffers are left
for writing by buf_IncrSync thread.

16 years agowindows-buf-more-clean-vnode-speedups-20080301
Jeffrey Altman [Sat, 1 Mar 2008 18:56:23 +0000]
windows-buf-more-clean-vnode-speedups-20080301

LICENSE MIT

do not call buf_CleanAsync if you know the buffer isn't dirty

16 years agowindows-freelance-20080301
Jeffrey Altman [Sat, 1 Mar 2008 17:43:16 +0000]
windows-freelance-20080301

LICENSE MIT

when support for multiple valid buffer data versions was added
forget to remove the force dv change from the freelance code.
this broken automatic additions of new mount points.

16 years agowindows-buf-mx-20080301
Jeffrey Altman [Sat, 1 Mar 2008 16:28:53 +0000]
windows-buf-mx-20080301

LICENSE MIT

further reductions in buffer mutex acquisition churn

16 years agowindows-eventlog2-20080301
Jeffrey Altman [Sat, 1 Mar 2008 15:59:07 +0000]
windows-eventlog2-20080301

LICENSE MIT

set the registry values on each start.  otherwise, we will never update
the incorrect entries left over from previous installs.

16 years agowindows-eventlog-20080301
Jeffrey Altman [Sat, 1 Mar 2008 15:37:09 +0000]
windows-eventlog-20080301

LICENSE MIT

somewhere along the way Microsoft stopped opening Event Message files
explicitly.  Instead they search the PATH environment variable for
the specified file.  I think this is broken but simply registering
"afsd_service.exe" instead of the fully qualified path works.

16 years agowindows-smb-asyncstore-20080229
Jeffrey Altman [Sat, 1 Mar 2008 04:29:17 +0000]
windows-smb-asyncstore-20080229

LICENSE MIT

fix it

16 years agowindows-cm-buf-misc-20080229
Jeffrey Altman [Fri, 29 Feb 2008 22:50:54 +0000]
windows-cm-buf-misc-20080229

LICENSE MIT

(1) Add an undocumented store behind mode for use in testing.  Set
    EnableSMBAsyncStore to 2.  When set all smb_WriteData calls are
    background writes, all calls to cm_FSync are skipped and file close
    operations do not block for dirty buffers to be written.  This
    permits all writes to be performed in the buf_IncrSyncer thread.

(2) Do not use I64 in osi_Log() format strings as all parameters are
    converted to size_t which is 32-bit on 32-bit Windows.

(3) Reduce the number of times the cm_buf_t mutex is obtained, dropped,
    obtained, dropped in buf_IncrSyncer

(4) In buf_CleanAsyncLocked, request that a full chunk be written instead
    of just the current buffer.  cm_SetupStoreBIOD will stop at the
    first clean buffer.  This reduces the overall number of RPCs that
    must be performed.

(5) Define CM_BUF_VERSION_BAD and use it instead of -1.

16 years agowindows-dnlc-20080229
Jeffrey Altman [Fri, 29 Feb 2008 15:45:21 +0000]
windows-dnlc-20080229

LICENSE MIT

even if dnlc is not going to be used, the data structures must
still be initialized as they are in the cache file.

16 years agoconfigure-enable-warnings-20080228
Simon Wilkinson [Fri, 29 Feb 2008 15:07:08 +0000]
configure-enable-warnings-20080228

LICENSE IPL10

add a switch to turn on warnings when using gcc

16 years agocheckauth-unlock-before-return-20080228
Kevin McBride [Fri, 29 Feb 2008 04:41:50 +0000]
checkauth-unlock-before-return-20080228

LICENSE IPL10

only matters once you have pthreads, but...

16 years agowindows-libadmin-closesocket-20080228
Jeffrey Altman [Fri, 29 Feb 2008 01:26:45 +0000]
windows-libadmin-closesocket-20080228

LICENSE MIT

On Windows close() does not apply to sockets, use closesocket()
instead.

16 years agowindows-buf-deadlock-20080228
Jeffrey Altman [Thu, 28 Feb 2008 18:21:53 +0000]
windows-buf-deadlock-20080228

LICENSE MIT

avoid deadlock in buf_FlushCleanPages().
cannot obtain buffer mutex after a successful
Stabilize call because the scp will be be locked
and obtaining buffer mutex after scache mutex
is a lock order violation.

16 years agowindows-smb-lock-timeouts-20080228
Jeffrey Altman [Thu, 28 Feb 2008 17:16:28 +0000]
windows-smb-lock-timeouts-20080228

LICENSE MIT

Attempts to open files which are already write-locked by another
client took forever to return a lock not granted error.  This
was because cm_Analyze() would retry the lock request for up to
the RDRtimeout in response to the EAGAIN error.  The problem
was that cm_IntSetLock() was not setting the CM_REQ_NORETRY flag.

While examining this issue, discovered two other things:

(1) the infinite wait logic on lock request processing was broken
(2) the cancel outstanding lock request logic wasn't implemented
(3) cm_Analyze() would put the thread to sleep even when retries
    were not permitted.

Also removed a number of compile time warnings.

16 years agoarm-lwp-adm-20080227
Derrick Brashear [Wed, 27 Feb 2008 22:26:31 +0000]
arm-lwp-adm-20080227

LICENSE IPL10

don't use ucontext lwp on arm linux

16 years agowindows-osi-convertRToW-and-logging-optimizations-20080227
Jeffrey Altman [Wed, 27 Feb 2008 17:03:30 +0000]
windows-osi-convertRToW-and-logging-optimizations-20080227

LICENSE MIT

Add lock_convertRToW which permits a read-lock to be upgraded to a
write lock.  If the caller is the only reader it permits a fast
transition otherwise it adds the caller to the waiters queue.

In the osi_Log macros, check to see if the log is enabled before making
the function call.  This avoids significant function call overhead.

In the cache manager, make use of the above.

16 years agowindows-dnlc-20080226
Jeffrey Altman [Wed, 27 Feb 2008 04:53:45 +0000]
windows-dnlc-20080226

LICENSE MIT

Remove race conditions in the statistics code by switching to
Interlocked functions.

Speed up cm_dnlcEnter() by searching first with a read lock and
then switching to a write lock if not found.

Add HKLM\SOFTWARE\OpenAFS\Client registry values "UseDNLC" and "Debug"DNLC".
I suspect with the B+tree code that the DNLC is unnecessary overhead but
leave it on by default for now.

16 years agoviced-cleanup-old-addresses-as-they-become-invalid-20080225
Jeffrey Altman [Tue, 26 Feb 2008 04:13:16 +0000]
viced-cleanup-old-addresses-as-they-become-invalid-20080225

LICENSE IPL10

otherwise we can end up with stale addresses when a client uses then leaves an
address never to return

16 years agowindows-force-anon-vldb-20080225
Jeffrey Altman [Mon, 25 Feb 2008 22:19:49 +0000]
windows-force-anon-vldb-20080225

LICENSE MIT

For organizations with krb5 aware file servers but transarc or old openafs
vldb servers, add force anonymous vldb lookup option

  HKLM\SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
DWORD "ForceAnonVLDB"  (default is 0)

16 years agothreadquota-enforcement-fixes-20080225
Jeffrey Hutzelman [Mon, 25 Feb 2008 20:38:09 +0000]
threadquota-enforcement-fixes-20080225

LICENSE IPL10
FIXES 87416

correctly set and unset HWHO_INPROGRESS as we pass through host probing package.

also, do not block on lock checking for HOSTDELETED. instead, return a null host
and VBUSY; restructure code to allow returning a null host with prejudice.

16 years agowindows-volume-logsavestring-20080225
Jeffrey Altman [Mon, 25 Feb 2008 19:34:44 +0000]
windows-volume-logsavestring-20080225

LICENSE MIT

remember to save the volume name when logging

16 years agowindows-smb-asyncstoresize-20080225
Jeffrey Altman [Mon, 25 Feb 2008 15:31:21 +0000]
windows-smb-asyncstoresize-20080225

LICENSE MIT

Further testing on the 115KB AT&T Edge connection shows that 128KB
provides reasonably robust performance with six simultaneous copies of
multi-MB files to AFS.

16 years agowindows-smb-async-store-20080224
Jeffrey Altman [Mon, 25 Feb 2008 05:33:54 +0000]
windows-smb-async-store-20080224

LICENSE MIT

Add two new configuration knobs to control the behavior of smb_WriteData.

HKLM\SOFTWARE\OpenAFS\Client
  DWORD EnableSMBAsyncStore  (default: 1)
  DWORD SMBAsyncStoreSize    (default: 32K)

Instead of tying the async store size to either the chunksize (too large)
or the buffer block size (too small) provide an intermediate value that
can be independently controlled.

In the future it would be desireable for the async store size to be
dynamically determined based upon measurable characteristics of the
network.  In the meantime, 32KB is an acceptable performance compromise
that should work well on 1Gbit networks and low-speed cellular networks.

16 years agonulluuid-check-only-valid-input-20080224
Derrick Brashear [Mon, 25 Feb 2008 04:57:47 +0000]
nulluuid-check-only-valid-input-20080224

LICENSE IPL10

as reported by jhutz@cmu.edu

16 years agowindows-scache-clean-bufs-20080224
Jeffrey Altman [Sun, 24 Feb 2008 15:33:52 +0000]
windows-scache-clean-bufs-20080224

LICENSE MIT

In MergeStatus, only remove clean buffers from the hash table.

16 years agowindows-buf-data-versions-20080224
Jeffrey Altman [Sun, 24 Feb 2008 06:31:54 +0000]
windows-buf-data-versions-20080224

LICENSE MIT

An implementation of Asanka's idea.

Avoid the need to update the data version number on each buffer associated
with a scache when MergeStatus is called after a StoreData by maintaining
a range of valid data versions as part of the cm_scache_t object.