Commit Graph

5210 Commits

Author SHA1 Message Date
Derrick Brashear
5c2406070f fileserver-sticky-bit-admin-only-20080905
LICENSE IPL10

do restrict the sticky bit to admins.
2008-09-05 17:57:33 +00:00
Jeffrey Altman
beef54e70c windows-smb-volname-20080904
LICENSE MIT

Advertise the correct length for the volume name.  Do not include the NUL.

Add more create option values as #defines.
2008-09-04 21:07:40 +00:00
Derrick Brashear
9689e78d71 fileserver-sticky-bit-not-admin-only-20080904
LICENSE IPL10

don't restrict the sticky bit to admins.
2008-09-04 20:41:14 +00:00
Jeffrey Altman
bbd713ad3f windows-cell-locking-20080903
LICENSE MIT

fix a lock order issue and protect the timeout and flags field
of cm_cell_t with the mutex instead of the global lock.
2008-09-03 22:03:54 +00:00
Jeffrey Altman
441cc643e0 windows-smb-lock-order-20080903
LICENSE MIT

another lock order violation to fix
2008-09-03 21:37:00 +00:00
Niklas Edmundsson
539535cf67 aix61-initial-support-20080903
LICENSE IPL10
FIXES 113638

aix 6.1 support
2008-09-03 19:26:29 +00:00
Jeffrey Altman
7f4e0dfc3e rx-mutex-init-once-20080903
LICENSE IPL10
FIXES 114555

because rx_Finalize doesn't clean up, we end up reiniting mutexes. use
pthread_once when not in the kernel.
(kernel does not now call rx_Finalize, ever)
2008-09-03 19:07:11 +00:00
Derrick Brashear
995ee981fd linux26-libafs-makefileproto-trust-kbuild-system-no-really-20080903
LICENSE IPL10

if we are really not using COMMON_KERN_CFLAGS and being trusting, let's do so.
2008-09-03 17:59:08 +00:00
Jeffrey Altman
9803e84e63 windows-afsd-dns-env-20080902
LICENSE MIT

Fix the conditionals so that the right thing happens if AFS_AFSDB_ENV
is not defined.
2008-09-02 23:34:41 +00:00
Jeffrey Altman
8bf17e7c81 windows-fs-setcrypt-auth-20080902
LICENSE MIT

fix parsing and display of fs setcrypt auth
2008-09-02 22:25:25 +00:00
Jeffrey Altman
84e10d582a smb-string-conversion-20080902
LICENSE MIT

more cases where -1 should be passed in as opposed to the strlen value
when converting between char and wchar forms
2008-09-02 22:20:58 +00:00
Jeffrey Altman
d94b9a7818 windows-rxkad-auth-20080902
LICENSE MIT

Add ability for users to select rxkad auth only mode.
"fs setcrypt auth".
2008-09-02 22:15:36 +00:00
Jeffrey Altman
21abc0e0b5 windows-afsd-init-20080902
LICENSE MIT

report state of "Rx Jumbo" and "RxExtraPackets" more often
2008-09-02 22:08:24 +00:00
Jeffrey Altman
e31826d333 windows-cell-free-list-20080902
LICENSE MIT

add a free list to the cm_cell_t structure.  if during cm_GetCellGen()
the cm_SearchCellXXX() calls fail, store the allocated cm_cell_t object
on a free list so that it can be reused for the next request.
2008-09-02 21:17:42 +00:00
Jeffrey Altman
829ff4e54f windows-cell-alloc-reversed-20080902
LICENSE MIT

The approach taken in windows-cell-alloc-20080902 won't work.
2008-09-02 17:34:00 +00:00
Jeffrey Altman
ef64f50fb9 windows-cell-alloc-20080902
LICENSE MIT

Perform the initial cm_SearchCellXXX call using a temporary cm_cell_t
object in case the search fails.
2008-09-02 16:20:13 +00:00
Jeffrey Altman
a653057ff4 windows-smb-free-lsa-response-20080901
LICENSE MIT

Whether or not LsaCallAuthenticationPackage succeeds, it may return
a response buffer.  If it does, free it.
2008-09-01 13:35:42 +00:00
Jeffrey Altman
83dadab93a windows-afsd-init-lock-order-validation-20080830
LICENSE MIT

Add TransarcAFSDaemon/Parameters key "LockOrderValidation" DWORD
to control lock order validation functionality.  Defaults to off
for release builds and on for checked builds.
2008-08-30 15:13:03 +00:00
Jeffrey Altman
a36596f10f windows-lock-order-validation-20080830
LICENSE MIT

Add osi_SetLockOrderValidation(int) to permit lock order validation
to be turned on and off.  Must be executed before the first lock
is obtained.
2008-08-30 15:03:27 +00:00
Jeffrey Altman
ccdf50ade3 windows-buf-shutdown-20080829
LICENSE MIT

During buf_Shutdown() all dirty buffers should be written to the file
server if they can be.
2008-08-30 03:08:20 +00:00
Jeffrey Altman
2da64d02a2 windows-afsd-shutdown-20080829
LICENSE MIT

reorganize the service shutdown order to permit dirty buffers to be
flushed to the file server without competition from incoming requests.
2008-08-30 03:04:53 +00:00
Jeffrey Altman
00fee5efee windows-check-servers-20080828
LICENSE MIT

if the server count is zero, don't both trying
2008-08-28 10:45:45 +00:00
Jeffrey Altman
43eb87a916 windows-check-server-heap-overwrite2-20080827
LICENSE MIT

the incorporation of nconns into the foo incremental was a mistake
2008-08-28 00:42:26 +00:00
Jeffrey Altman
e68255c12c windows-check-server-heap-overwrite-20080827
LICENSE MIT

Protect against a heap overwrite that could occur is the number of file
servers or vldb servers grows while the maximum number of connections
is computed and when the connection list is populated.
2008-08-27 23:08:06 +00:00
Jeffrey Altman
0affa4b86a windows-callback-lock-order-20080827
LICENSE MIT

do not hold cm_server_t mutex when calling cm_FindVolumeByID because
the cm_volume_t lock must be obtained ahead of the cm_server_t mutex
2008-08-27 23:01:51 +00:00
Jeffrey Altman
c50857b05e windows-lock-order-20080827
LICENSE MIT

do not hold cm_scacheLock while obtaining cm_scache_t->rw
2008-08-27 13:17:05 +00:00
Jeffrey Altman
bef68684fd windows-short-names-20080827
LICENSE MIT

plus and equal are not valid characters in short names.
we replace them with left and right brace in order to
minimize the instability in the file names.
2008-08-27 12:47:23 +00:00
Matt Benjamin
a123bd8ccd freebsd-70-client-20080826
LICENSE IPL10

FreeBSD 7.0 client support (and 8.0 support but that's a moving target)
2008-08-26 15:59:42 +00:00
Tom Keiser
4d245c6a19 studio12-solaris-updates-20080826
LICENSE IPL10
FIXES 113671

update so we build with studio 12 on solaris
2008-08-26 15:11:28 +00:00
Derrick Brashear
82c62ae0e3 linux-rpm-make-dkms-remove-work-20080826
LICENSE IPL10

rpm -e failed because of a typo here when removing our dkms rpm
2008-08-26 14:44:31 +00:00
Jeffrey Altman
e16c4f8a96 windows-scache-lock-20080825
LICENSE MIT

restore a missing obtain write lock
2008-08-26 05:55:40 +00:00
Jeffrey Altman
e0380d54ba windows-misc-20080825
LICENSE MIT

avoid a deadlock in cm_GiveUpAllCallbacks

log UAEEXIST / EEXIST in cm_Analyze
2008-08-26 05:36:34 +00:00
Jeffrey Altman
cb455744d4 windows-client-osi-20080825
LICENSE MIT

add more asserts to attempt to catch locks released in threads other
than the one that obtained them.
2008-08-26 05:14:14 +00:00
Derrick Brashear
12c8abc690 server-argument-consistency-and-jumbograms-off-20080824
LICENSE IPL10
FIXES 108703

go through and make servers able to take debug log level on command line;
add -jumbo; default to -nojumbo
2008-08-25 02:14:39 +00:00
Jeffrey Altman
a88d12746a windows-smb-more-check-open-done-20080824
LICENSE MIT

call cm_CheckNTOpenDone() in error conditions as well
2008-08-24 22:45:24 +00:00
Jeffrey Altman
82741251b1 windows-prefetch-lock-order-20080824
LICENSE MIT

lock order violation between cm_daemonLock and cm_scache_t rw lock
2008-08-24 18:46:23 +00:00
Jeffrey Altman
24f8b1b4c3 windows-smb-locks-20080224
LICENSE MIT

smb_dirSearch_t refCount field is protected by smb_globalLock not the
smb_dirSearch_t mutex.

Do not hold the smb_fid_t mutex across calls to smb_NotifyChange()
2008-08-24 17:31:28 +00:00
Jeffrey Altman
cc48a5a3b4 windows-check-nt-open-lock-sync-20080224
LICENSE MIT

Move cm_SyncOpDone(CM_SCACHESYNC_LOCK) from cm_CheckNTOpen to
cm_CheckNTOpenDone.  This is necessary to synchronize lock operations.
2008-08-24 17:25:57 +00:00
Jeffrey Altman
25b819543e windows-callback-shutdown-head-20080801
LICENSE MIT

When the cache manager is shutting down, return an error to all
callback requests.  Otherwise, it is possible for a callback to get
stuck waiting for a lock and when the lock clears to be left with
nothing but invalid memory addresses to crash on.

In the meantime, the file server is waiting for the response.
2008-08-22 21:57:53 +00:00
Derrick Brashear
186f707378 darwin-fake-afs-bigger-20080822
LICENSE IPL10
FIXES 112564

set up max uint64 "free" in afs so finder isn't dumb.
2008-08-22 20:26:38 +00:00
Derrick Brashear
ea81e608ba analyze-srvr-safety-check-20080822
LICENSE IPL10
FIXES 112681

safety check to make sure a conn's srvr is set before dereferencing it
2008-08-22 19:52:44 +00:00
Jeffrey Altman
ef10390e12 windows-misc-20080822
LICENSE MIT

1. In multi-threaded applications deadlocking is always a problem.
Deadlock avoidance requires a strict adherence to a documented
hierarchy.  The lock hierarchy for OAFW is described in a file
called locks.txt.  There are two problems.  First, some of the
locks are not included in locks.txt.  Second, it is nearly
impossible given the depth of function calls for any programmer
 to identify all of the locks that are held at any given time
a function is called.  This patch implements a new locking order
verification mechanism.  Each lock is assigned a lock level at
initialization.  Each thread maintains a queue of held locks.
Each time a lock is acquired the queue is checked to ensure that
no locks with a higher level than the requested lock has already
been acquired.  If a violation occurs, the service panics.

2. When the service panics ensure that a minidump will always be generated.

3. Remove unused lock cm_bufGetMutex.

4. The lock order verifier identified approximately a dozen
lock order violations that are corrected.

5. A race condition within the function path cm_GetSCache() ->
cm_GetNewSCache() -> cm_RecycleSCache() permitted a cm_scache_t
object to be issued simultaneously to two threads.  This would
eventually result in a panic due to the resulting under count.

6. Fix interpretation of the empty string as the ioctl path to
mean the current directory.   "fs lsm", "symlink list", etc.
now return a "not a ..." error instead of "does not exist".

7. Add SMB_STRF_SRCNULTERM flag to smb_ParseStringXXX functions
to indicate that the input string is a nul terminated string.
Assign it when input strings are nul terminated.

8. The CIFS protocol specification for handling NT_TRANSACT_CREATE
does not match the observed behavior.  The 'nameLength' is specified
in bytes not in characters.  Fix the implementation to match.

9. The cm_HaveAccessRights() attempt at deadlock avoidance by calling
lock_TryRead() on the parent directory cm_scache_t rw-lock does not
avoid the deadlock.  Avoid the deadlock by enforcing the lock order
of lowest vnode first.  Then remove the infinite loop avoidance in
cm_SyncOp() that was returning an unwarranted access denied error.
2008-08-22 19:06:04 +00:00
Derrick Brashear
46dbd67871 rx-allow-jumbogram-disabling-really-20080822
LICENSE IPL10

right now, jumbograms can still be sent when -nojumbo is specified. make the
current macro a default and override when we're supposed to.
2008-08-22 05:31:32 +00:00
Jeffrey Altman
a00f706eb6 windows-list-symlink-20080820
LICENSE MIT

Another casaulty of the Unicode transition, the return value of the
ListLink operation was not being convered from wchar to char before
it was copied into the output buffer.
2008-08-20 20:44:56 +00:00
Jeffrey Altman
9488898fdb windows-afsd-service-20080820
LICENSE MIT

When afsd_service.exe is not running as a service do not call the
Service Manager functions.  Doing so causes invalid access exceptions
to be thrown in the kernel and can corrupt the heap.
2008-08-20 20:41:17 +00:00
Derrick Brashear
651f25b9c8 redhat-spec-default-build-authlibs-20080820
LICENSE IPL10
FIXES 101879

make build_authlibs default usefully
2008-08-20 19:45:05 +00:00
Derrick Brashear
03982bd548 namei-by-default-on-sol10-20080816
LICENSE IPL10

default to namei, not inode, on solaris 10 except by request
2008-08-16 22:37:29 +00:00
Dan Hyde
b080c5d82b volser-initialize-volume-updatedate-20080816
LICENSE IPL10
FIXES 110943

right now this isn't set until a vnode update happens. technically creating
the root directory is an update, so let's set it to now.
2008-08-16 21:07:30 +00:00
Tracy Di Marco White
8190e75b38 netbsd-sigwait-broken-til-nbsd5-20080816
LICENSE IPL10
FIXES 111404

work around netbsd sigwait brokenness
2008-08-16 20:46:44 +00:00
Marc Dionne
d7a5619e5b linux-2-6-27-20080816
LICENSE IPL10
FIXES 111634

add support for 2.6.27, which removes asm/semaphore.h
2008-08-16 20:42:34 +00:00