4846 Commits

Author SHA1 Message Date
Jeffrey Altman
274878f55f DEVEL15-windows-asyncstore-again-20080301
LICENSE MIT

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


(cherry picked from commit af2318cfde026f5dc6b479089689dba63f7b8abc)
2008-03-01 19:00:19 +00:00
Jeffrey Altman
41e6d32086 DEVEL15-windows-buf-more-clean-vnode-speedups-20080301
LICENSE MIT

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


(cherry picked from commit b47407ae72491a129fc9ed6990585e426fc2a223)
2008-03-01 18:57:24 +00:00
Jeffrey Altman
47801d13e0 DEVEL15-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.


(cherry picked from commit 7083ceec5c21e500f23110152dcc994c7ccfab92)
2008-03-01 17:44:28 +00:00
Jeffrey Altman
da2bc8dc95 DEVEL15-windows-buf-mx-20080301
LICENSE MIT

further reductions in buffer mutex acquisition churn


(cherry picked from commit fb3f10f3297c08807c0a3f0b345d88cd19742726)
2008-03-01 16:30:02 +00:00
Jeffrey Altman
611d550a47 DEVEL15-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.


(cherry picked from commit 3b5a1acef030ad9208111511813a0b69c6a0de99)
2008-03-01 16:00:29 +00:00
Jeffrey Altman
283b4a2954 DEVEL15-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.


(cherry picked from commit e4df679d1bcc6fb7e3c3eb4169e489c172910628)
2008-03-01 15:38:34 +00:00
Jeffrey Altman
5cd9032376 DEVEL15-windows-smb-asyncstore-20080229
LICENSE MIT

fix it


(cherry picked from commit b8cacec96969b044c1cfdd1919ca9e2e36999243)
2008-03-01 04:30:38 +00:00
Jeffrey Altman
df13fd4cb0 DEVEL15-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.


(cherry picked from commit 114de458ca7717cf0bcda90df61f24495fe8f922)
2008-02-29 22:59:52 +00:00
Jeffrey Altman
e677ed9ff1 DEVEL15-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.


(cherry picked from commit fccf05a96d038a1a911a95d309ecb08090d2c6a1)
2008-02-29 15:58:53 +00:00
Kevin McBride
5c1af6ac6f DEVEL15-checkauth-unlock-before-return-20080228
LICENSE IPL10

only matters once you have pthreads, but...


(cherry picked from commit 8ffc274282fa40c6e2d35ba861b9dc932afa032d)
2008-02-29 15:13:06 +00:00
Simon Wilkinson
20136421a0 DEVEL15-configure-enable-warnings-20080228
LICENSE IPL10

add a switch to turn on warnings when using gcc


(cherry picked from commit 737c03a75c62b3cd0ec92b33aea84d33dc39c2e7)
2008-02-29 15:13:04 +00:00
Jeffrey Altman
47064e9243 DEVEL15-windows-libadmin-closesocket-20080228
LICENSE MIT

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


(cherry picked from commit 502aca9e8ccff36d0c10203c66200e526d2273b3)
2008-02-29 01:27:57 +00:00
Jeffrey Altman
7e6a650ce5 DEVEL15-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.


(cherry picked from commit 0546641c0da59289d03a9417984fe5f7e5636a75)
2008-02-28 18:22:58 +00:00
Jeffrey Altman
a709dbf9ef DEVEL15-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.


(cherry picked from commit e9f7894e3576ef9e01234966f7869440f1823718)
2008-02-28 17:17:15 +00:00
Derrick Brashear
715cbd0765 DEVEL15-arm-lwp-adm-20080227
LICENSE IPL10

use ucontext-less lwp on arm linux


(cherry picked from commit 023d3f3bae273d7af16d52fd0c468fc05653abe5)
2008-02-27 22:31:11 +00:00
Jeffrey Altman
b6654a597f DEVEL15-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.


(cherry picked from commit 72687c02b6ee5ff3029937b0278733b252f14550)
2008-02-27 17:06:43 +00:00
Jeffrey Altman
92f03f92ce DEVEL15-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.


(cherry picked from commit 107899cefaeebe693f8025e9c0d88784facd2236)
2008-02-27 04:55:16 +00:00
Derrick Brashear
bcbbb05645 DEVEL15-openafs-1-5-3-20080225
LICENSE IPL10

make 1.5.33
openafs-devel-1_5_33
2008-02-26 04:15:52 +00:00
Jeffrey Altman
4b5dff37e0 DEVEL15-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


(cherry picked from commit 428cac5d6dfc287452af51c08eba0f0fca276864)
2008-02-26 04:14:17 +00:00
Jeffrey Altman
c403d93b55 DEVEL15-windows-notes-20080225
LICENSE MIT

1.5.33 (more)
2008-02-26 01:08:19 +00:00
Jeffrey Altman
a703190112 DEVEL15-windows-version-20080225
LICENSE MIT

1.5.33 = 1.5.3300.0
2008-02-26 01:05:39 +00:00
Jeffrey Altman
0007e327a8 DEVEL15-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)


(cherry picked from commit dd72e06bf11fccd70cba32c4b6411a5e6ff3914c)
2008-02-25 22:21:24 +00:00
Jeffrey Hutzelman
1b4b3256fe DEVEL15-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.


(cherry picked from commit f4f7ac048c52f859000a0d42640f0a6d43cc942a)
2008-02-25 20:38:34 +00:00
Jeffrey Altman
a8dcb5884c DEVEL15-windows-volume-logsavestring-20080225
LICENSE MIT

remember to save the volume name when logging


(cherry picked from commit d8c932ed73039777f5e21e70d6850325061f8241)
2008-02-25 19:40:13 +00:00
Jeffrey Altman
b7d2cffd94 DEVEL15-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.


(cherry picked from commit 704fddccd0f714c848b37ccee427f8eeded53bd6)
2008-02-25 15:34:31 +00:00
Jeffrey Altman
b48ead62cb DEVEL15-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.


(cherry picked from commit f95915a55ae579bab4052f24f6fedca21d114567)
2008-02-25 05:36:46 +00:00
Jeffrey Altman
945498236d DEVEL15-windows-release-notes-20080224
LICENSE MIT

1.5.33
2008-02-25 05:24:46 +00:00
Derrick Brashear
e1e3660336 DEVEL15-nulluuid-check-only-valid-input-20080224
LICENSE IPL10

as reported by jhutz@cmu.edu


(cherry picked from commit 27dc7b13aa6356ba76916e47c6ddb48aa4b99846)
2008-02-25 05:00:16 +00:00
Jeffrey Altman
a25822b409 DEVEL15-windows-notes-20080224
LICENSE MIT

1.5.33
2008-02-25 04:18:42 +00:00
Jeffrey Altman
ea2fe73741 DEVEL15-windows-scache-clean-bufs-20080224
LICENSE MIT

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


(cherry picked from commit f52c6e1bc020a0985d2bc168d06b2c87fe7a2797)
2008-02-24 15:35:34 +00:00
Jeffrey Altman
44bed5a0aa DEVEL15-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.


(cherry picked from commit 9e41258fad54e3122a0722b3f1c24810590c8d0a)
2008-02-24 06:33:20 +00:00
Jeffrey Altman
06db2350c2 DEVEL15-windows-optimize-access-20080224
LICENSE MIT

profiling shows large numbers of blocked calls in cm_HoldSCache
from cm_HaveAccess...   We can safely avoid the call so do so.


(cherry picked from commit 812ac61cfd3601abb1373f6d3f9e4d52c2ff61b9)
2008-02-24 06:28:57 +00:00
Asanka Herath
a3ce05447c DEVEL15-windows-checkntopen-20080223
LICENSE MIT

do not forget to call cm_SyncOpDone if cm_SyncOp succeeded


(cherry picked from commit c73b73ee33c37aee2c52051005a12ad36fde70d4)
2008-02-23 21:37:08 +00:00
Jeffrey Altman
d0f2422ba4 DEVEL15-windows-buf-createlock-20080223
LICENSE MIT

Do not leak a read lock on the bufCreateLock

Add logging to cm_CheckNTOpen[Done]


(cherry picked from commit 8bddb4892bb815076861507f8ae781ae2c3f3310)
2008-02-23 21:14:19 +00:00
Jeffrey Altman
4c4658bf1c DEVEL15-windows-buf-scache-interlock-20080222
LICENSE MIT

Improve parallelism by using InterlockedIncrement and InterlockedDecrement
to adjust the refCount fields of cm_buf_t and cm_scache_t objects.  This
permits read locks to be used for increments and decrements but requires
a write-lock to perform any actions based upon the refCount hitting zero.

Inline cm_FidCmp to further improve performance.

Remove unused variables.


(cherry picked from commit 12c6cfd4435c5a491e613e6394fabeeed4d81447)
2008-02-23 07:30:18 +00:00
Jeffrey Altman
57e8e826b2 DEVEL15-windows-afsd-20080222
LICENSE MIT

1. Change RxEnableHotThread default to 'on'

2. Add a 'hash' value to the cm_fid_t structure in order to speed up cm_FidCmp().
   Add cm_SetFid() for use in constructing a fid complete with the hash.

3. Redefine the BUF_HASH and BUF_FILEHASH in terms of the cm_fid_t hash which
   has a better distribution

4. Modify cm_ConsiderPrefetch to evaluate the amount of data in the most recent
   read request instead of the next chunkSize.  cm_chunkSize can be dozens or
   hundreds of buffers.  As a result too much time is spent performing the
   evaluation.

5. Fix the usage of cm_scache_t bufCreateLock.  The purpose of this lock is
   to prevent the creation of new buffers while a truncation is being performed.
   All references to bufCreateLock have been removed except in two places:
   i.  a write-lock surrounding the function that calls buf_Truncate()
   ii. a read-lock within buf_GetNewLocked() that actually allocates new
       buffers

6. Modify the CM_CONFIG_DATA_MAGIC value to include a CM_CONFIG_DATA_VERSION
   number which value be used to force the replacement of the cache file
   contents when incompatible changes are made between releases.

7. CM_SCACHESYNC_ASYNCSTORE should not be ordered by cm_SyncOpCheckContinue

8. Avoid calls to multi_Rx if nconns == 0

9. Modify smb_WriteData to perform background writes based upon the crossing
   of buf_blockSize boundaries instead of cm_chunkSize boundaries.  This will
   slow down writes from the SMB interface but will avoid the risk of
   the CIFS client disconnecting from the AFS client SMB server.


(cherry picked from commit dcef8fa4adc4c2cdc166494979d77d91c40c1f06)
2008-02-23 00:17:34 +00:00
Derrick Brashear
8e55bd64d8 DEVEL15-debian-packaging-update-20080220
LICENSE IPL10

Russ' metadata, repacked into our tree


(cherry picked from commit cd9ce022ee97bee809e840be8612aafb2cbfc6b8)
2008-02-20 21:35:53 +00:00
Derrick Brashear
bb6eeeb234 DEVEL15-vos-addsite-pod-error-20080220
LICENSE IPL10
Item is not item


(cherry picked from commit 49d77d8d4b8c26a56143a3655d460a6495f7d57a)
2008-02-20 20:19:44 +00:00
Derrick Brashear
2c06bbc2af DEVEL15-urecovery-invalidate-without-truncate-20080220
LICENSE IPL10

critical to label the database invalid when we don't truncate so recovery finishes.

issue in 84609 remains.


(cherry picked from commit d5c32c97a01f02cd69e2167964b43d83c6d413fb)
2008-02-20 20:09:05 +00:00
Jeffrey Altman
b7f6335baf DEVEL15-windows-smb-locking-20080220
LICENSE MIT

minor improvements to smb_rctLock usage.


(cherry picked from commit d48e3d1e7a5a5d065a0046b9115043bed47510a7)
2008-02-20 17:37:09 +00:00
Jeffrey Altman
a8897dbc75 DEVEL15-windows-rx_enable_hot_thread-20080220
LICENSE MIT

Add RxEnableHotThread registry option to permit rx_enable_hot_thread
to be set.  The default is off for the moment but turning it on does
provide significant performance benefits.


(cherry picked from commit dd4ecb4ca0467d9f5727de1bfe9082f195330b99)
2008-02-20 17:33:34 +00:00
Jeffrey Altman
686f2f04ca DEVEL15-rx-osi_socket-20080220
LICENSE MIT

The portable type to be used for sockets is osi_socket not int.

On 64-bit Windows this caused failures when hot threads were enabled.


(cherry picked from commit 5067e6786dc93b8760edf6b1b9d92c3999caea7e)
2008-02-20 17:18:47 +00:00
Derrick Brashear
3cf0cce78b DEVEL15-openafs-1-5-32-20080219
LICENSE IPL10

make 1.5.32
openafs-devel-1_5_32
2008-02-20 03:36:24 +00:00
Jason Edgecombe
3d9465aed9 DEVEL15-man-page-updates-20080219
LICENSE IPL10
FIXES 86677

note 2tb limit, add fs minidump document


(cherry picked from commit 897c36027476843db988b9d0625a8fc189c8716d)
2008-02-19 15:28:55 +00:00
Mike Meffie
ecc8374ee4 DEVEL15-s390x-not-s390-20080219
LICENSE IPL10

don't try to link multiple things to asm


(cherry picked from commit 4bd64596caebf79962db441782082d07c2de9e4e)
2008-02-19 15:07:36 +00:00
Rainer Toebbicke
103b4c8c19 DEVEL15-viced-rmdir-fid-leak-20080219
LICENSE IPL10
FIXES 86786


(cherry picked from commit 19b829d21934d60ab0b1af3ef0c7eefb2cce17b6)
2008-02-19 14:38:20 +00:00
Jeffrey Altman
2f1131d3eb DEVEL15-windows-version-20080218
LICENSE MIT

1.5.32 = 1.5.3200.0
2008-02-19 04:30:19 +00:00
Jeffrey Altman
0357c4e60d DEVEL15-windows-notes-20080218
LICENSE MIT

more for 1.5.32
2008-02-19 04:19:09 +00:00
Derrick Brashear
622a0a6a67 DEVEL15-windows-name-entries-20080218
LICENSE IPL10

restore the original behavior.  Fixes smb_ReceiveTran2SearchDir().


(cherry picked from commit c2de3a1623441f93b119dbdbd772bfa81973b230)
2008-02-19 04:15:03 +00:00
Derrick Brashear
0867f2c59a DEVEL15-arm-linux26-syscall-missing-20080218
LICENSE IPL10

there's nothing non-political about this. whatever.


(cherry picked from commit 1e4c03deecee1671703af891dbaf11e11b0dd5c8)
2008-02-19 03:39:17 +00:00