5511 Commits

Author SHA1 Message Date
Jeffrey Altman
2191cf8c83 DEVEL15-rx-prototypes-20080925
LICENSE MIT

fix errors introduced in rx-prototypes-20080924 on Windows


(cherry picked from commit ec6dcda473f4699454b3870994f147799044fb80)
2008-09-25 13:00:03 +00:00
Jeffrey Altman
9eaee9fa59 DEVEL15-rx-windows-mutex-is-mine-20080925
LICENSE MIT

Add MUTEX_IS_MINE for Windows


(cherry picked from commit db15c2f1cb6cf02ddf79e3539b6f202c439b92e0)
2008-09-25 12:50:58 +00:00
Matt Benjamin
66af1a9d02 DEVEL15-bypasscache-20080922
LICENSE IPL10

add cache bypass support (currently linux only)


(cherry picked from commit 9d63160cccf88d554e47e4bed8e3bbe26f14f8c2)
2008-09-25 12:42:43 +00:00
Derrick Brashear
d1e56bf524 DEVEL15-disconnected-fix-ifdefing-20080925
LICENSE IPL10

make disconnected code not be compiled in (and break) when you don't have it ena
bled


(cherry picked from commit 84b423e932e05bd6ffb64729900f518091f26ef1)
2008-09-25 10:02:56 +00:00
Max Cohan
bcb482c975 DEVEL15-dafs-vol-offline-status-20080925
LICENSE IPL10
FIXES 117499

This patch makes several alterations to the DAFS volserver. The two
major changes are:

* a potential information leak whereby random heap contents could be
exported over the four listvolume rpc variants is corrected

* volume online/offline reporting correctly reports in several additional
corner cases (see the comments in FillVolInfo() in src/volser/volprocs.c
for the complete list of cases):

VOL_STATE_SALVSYNC_REQ:
exclusive state while a fileserver is busy requesting a demand
salvage over the SALVSYNC protocol

V_needsSalvaged():
volume disk header field which is asserted when the fileserver
detects that a volume needs to be salvaged

pending volume operation with command code FSYNC_VOL_OFF:
this command code indicates that a volume utility requires
exclusive access to the volume

pending volume operation and VVolOpLeaveOnline_r returned false:
this indicates that a volume operation is in-progress, and the
internal function VVolOpLeaveOnline_r has decided that the volume
cannot be served concurrently with this volume transaction


(cherry picked from commit b5a6e4bf36dbb2099f17318ae09ff38a25687c5f)
2008-09-25 09:58:22 +00:00
Steven Jenkins
117e018adb DEVEL15-dafs-drop-volheaders-20080925
LICENSE IPL10
FIXES 117470

Under certain demand salvage scenarios, it is possible for a stale header
to remain cached with the needsSalvaged flag asserted. Although this will
not affect clients accessing the volume over afsint, it is an issue for
volser clients. VAttachVolumeByName in volser will always attempt to pull
the header over FSSYNC before doing a disk read, under the assumption that
a cached entry in the fileserver will be more current than what is on
disk. This patch causes the fileserver to aggresively invalidate disk
header cache entries when a salvage is in-progress.


(cherry picked from commit 1659861640035f5405429194e72665839cff3720)
2008-09-25 08:50:16 +00:00
Jeffrey Altman
5af9e7f186 DEVEL15-windows-remove-entraneous-commit-20080924
LICENSE MIT

remove extraneous commit.  maybe later.


(cherry picked from commit f52f24d6f0027be06d444c1dd7e0d35163b16ef6)
2008-09-24 23:58:32 +00:00
Dragos Tatulea
12f47e39d0 DEVEL15-disconnected-rw-20080922
LICENSE IPL10
FIXES 114605 114606 114607

add read-write disconnected support


(cherry picked from commit 433afd4779b077a1d0f4b842335e38625e124dcc)
2008-09-24 23:46:17 +00:00
Jeffrey Altman
1ef154f7f3 DEVEL15-windows-vlserver-updates-20080924
LICENSE MIT

if a vlserver returns a ubik error, skip the server and retry


(cherry picked from commit dd05bd3ba7be90a6348b144eb1c0a6ac1c5f43ba)
2008-09-24 23:42:53 +00:00
Simon Wilkinson
a133341d3b DEVEL15-rx-prototypes-20080924
LICENSE IPL10

cut down by a few thousand the warnings we get


(cherry picked from commit 17d45aa8843c6608d6f98e5defbf0db5aefce66b)
2008-09-24 22:36:49 +00:00
Simon Wilkinson
a9d3f2c081 DEVEL15-generic-inline-20080924
LICENSE IPL10

move static_inline macro to generic location


(cherry picked from commit af4d05c3a44d5b51dd6ae48e79c135af7efc530f)
2008-09-24 22:34:33 +00:00
Simon Wilkinson
28cbb94268 DEVEL15-rx-dpf-clarify-20080924
LICENSE IPL10

rework dpf macro slightly so there are no trailing ; issues


(cherry picked from commit 2d5987ea2bd96285899f1e5a141dcdaed8008e7e)
2008-09-24 22:32:08 +00:00
Derrick Brashear
4dd5308143 DEVEL15-macos-panic-decoder-format-fix-20080921
LICENSE IPL10

handle new panic format


(cherry picked from commit 41d5a5f7e30b5933408394db6aa107b8de966d33)
2008-09-21 14:03:31 +00:00
Asanka Herath
90f33e2f77 DEVEL15-macos-installer-images-20080921
LICENSE IPL10

revised images for the installer and package
2008-09-21 14:00:29 +00:00
Asanka Herath
431de13497 DEVEL15-windows-local-dir-updates-20080916
LICENSE MIT

When a local directory update occurs to the directory pages stored
in the dcache, there is no guarrantee that the same modifications
will be made to the cached pages as are being made by the file server.
In the situation that one or more of the cached pages are recycled,
it is not permissible to obtain the missing pages from the file server
without first invalidating the rest of the cached pages.  This is
necessary to prevent mixing of incompatible data representations.

Define a new flag CM_SCACHEFLAG_LOCAL which is used to indicate that
dcache entries were locally modified even though they are not dirty.

As the previous code could have corrupted the contents of the dcache,
bump CM_CONFIG_DATA_VERSION in order to force the rebuilding of the
cache.

Add error CM_ERROR_NOTINCACHE to indicate that a requested directory
page is not present in the cache and will not be created on the fly.

Prefetch all dcache entries for directories and ensure that a consistent
set is being used.


(cherry picked from commit 1f686941197c32734acd2531a911b8e5e43cc94e)
2008-09-16 12:47:47 +00:00
Asanka Herath
0bd9159573 DEVEL15-windows-dir-search-star-dot-pattern-20080916
LICENSE MIT

Replicate the FAT and NTFS behavior that the "*." pattern should match
all files without an extension.


(cherry picked from commit c4117f6f07b92fcc3a135badb48099a01ba41fe2)
2008-09-16 12:34:31 +00:00
Jeffrey Altman
00e86a5f7b DEVEL15-windows-lock-order-20080916
LICENSE MIT

do not violate lock order when freeing server reference lists


(cherry picked from commit 414312a72a9b1f0dd64ba3bfe97865dcc8cd80e3)
2008-09-16 12:28:20 +00:00
Jeffrey Altman
585eb01105 DEVEL15-windows-byte-range-locks-20080913
LICENSE MIT

Replace the int64 key with a struct because process ids on 64-bit
Windows can be 64-bit when obtained through the redirector interface.


(cherry picked from commit 2d709220d53fe9c5da23e2dbb32764fd3cbfea48)
2008-09-13 14:51:50 +00:00
Jeffrey Altman
00e8c7e1c6 DEVEL15-windows-vnovol-20080912
LICENSE MIT

The cm_serverRef_t list reference counts were undercounting and
prematurely freeing the server lists for volumes that experienced
VNOVOL and VMOVED errors.  cm_Analyze() must release the server
list before forcibly updating the volume location info.  Otherwise,
the list that gets freed is the old one concatenated with the new
one.

Add more trace messages.


(cherry picked from commit 1456a67c5ca024c523e0fc3edcba720780d4be9e)
2008-09-13 05:20:48 +00:00
Jeffrey Altman
3877be5788 DEVEL15-windows-service-procs-20080912
LICENSE MIT

if we are going to use hot threads it would be useful if there were
some additional server threads available to become listeners as
needed.


(cherry picked from commit fd55471b57bce441454d7b3c72c7be6a66aad65d)
2008-09-12 15:41:30 +00:00
Simon Wilkinson
324d2de61c DEVEL15-redhat-mockbuild-dksm-20080912
LICENSE IPL10

make mockbuild do the dkms rpms also


(cherry picked from commit 11b45ad09b7d257a476ddb57e48133ecf88375f7)
2008-09-12 14:07:40 +00:00
Asanka Herath
91eeff62e7 DEVEL15-windows-dir-new-pages-20080911
LICENSE MIT

A small patch to permit the directory package to allocate additional
directory pages when adding new entries that do not fit in the pages
that were obtained from the file server.


(cherry picked from commit 7ae4174d95a9d90e16f0ddc66648741a119339d2)
2008-09-12 05:09:44 +00:00
Jeffrey Altman
a7d08b3bf9 DEVEL15-windows-vnovol-20080911
LICENSE MIT

Modify MSG_SERVER_REPORTS_VNOVOL to mention that the volume may
have been moved or deleted.

In cm_Analyze(), do not call cm_ForceUpdateVolume() or force a retry
when processing CM_ERROR_NOSUCHVOLUME.  This CM error value is the
result of a VNOVOL already being processed which would have forced
the update.

When a VMOVED or VNOVOL error is received, remove the volume id from
the server's volume list.

If cm_ForceUpdateVolume() returns a failure, do not retry if a
VMOVED or VNOVOL error was received.

Make sure that if a cm_serverRef_t object is marked srv_deleted
that its references not be used.

Now that cm_ForceUpdateVolume() is being called only when processing
VMOVED and VNOVOL errors, permit it to call cm_UpdateVolumeLocation()
immediately.

Refactor cm_CheckOfflineVolume() to reduce code duplication.


(cherry picked from commit 5ea02ad1e2bdb98bea27e11c1372f90d1940de17)
2008-09-11 18:26:21 +00:00
Jeffrey Altman
a05dd19486 DEVEL15-windows-flush-btrees-20080911
LICENSE MIT

fs flushall, fs flushvolume, and fs flush should tear down directory
B+ trees so that when the data buffers are re-read from the file server
with the same data version, the B+ trees will be rebuilt.


(cherry picked from commit 186f1e97d0c15ead6bddae8697161a47ce9a80e4)
2008-09-11 18:11:15 +00:00
Jeffrey Altman
0c56eca43a DEVEL15-windows-cell-list-validation-20080911
LICENSE MIT

correct cell list validation now that the free cell list exists


(cherry picked from commit d85bdb4c9f9ddf7d287072a3d12e65423e551f40)
2008-09-11 18:05:32 +00:00
Jeffrey Altman
c9f9c6627f DEVEL15-windows-rx-jumbo-20080911
LICENSE MIT

Disable rx jumbo by default.  Permit rx jumbo to be enabled with
registry value "RxJumbo" set to 1 or "RxNoJumbo" set to 0.

RxNoJumbo has priority.


(cherry picked from commit 8e1b48ad0ab7f3790729ea0feb25256b3a9da709)
2008-09-11 18:00:44 +00:00
Jeffrey Altman
ce4182ecdc DEVEL15-windows-multi-check-server-20080911
LICENSE MIT

Permit rx_multi check server to be toggled via a registry setting
at checked prior to each invocation.  "MultiCheckServers".
Default is on.

Remove volume status updates for vldb server status changes.


(cherry picked from commit 59c1c22747b8aaf1da31f97d8a3ea178a4f7adee)
2008-09-11 17:52:45 +00:00
Derrick Brashear
8d559e7c2d DEVEL15-aix-export-build-fix-20080906
LICENSE IPL10

add missing ; to case actions


(cherry picked from commit f51e8e7be5b16f84f0603a0e8bc1be4ffafac617)
2008-09-06 12:59:13 +00:00
Derrick Brashear
e953e14e5c DEVEL15-syncserv-syncvldb-manpages-dryrun-20080906
LICENSE IPL10

make syncserv and syncvldb manpages reflect dryrun option


(cherry picked from commit 4119d9742b3e17fac6a3f1f7ab64ec829f085498)
2008-09-06 12:51:27 +00:00
Jeffrey Altman
b10d91c48c DEVEL15-windows-vnovol-20080905
LICENSE MIT

force a volume location update upon receipt of a VNOVOL error
in case the volume was moved.  VMOVED is only returned by the file
server if the volume is in the process of being moved.  Once it has
been deleted the file server returns VNOVOL.


(cherry picked from commit 0860d5b5b17ef5f58592d739424a4cca8dd91bb5)
2008-09-06 05:25:59 +00:00
Derrick Brashear
0984dae857 DEVEL15-fileserver-sticky-bit-admin-only-20080905
LICENSE IPL10

do restrict the sticky bit to admins.


(cherry picked from commit 5c2406070fc08c5fee0a09a1aa25e16af123b81a)
2008-09-05 17:57:55 +00:00
Jeffrey Altman
4c48c08641 DEVEL15-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.


(cherry picked from commit beef54e70cc86672b9971288fe4034829186aa41)
2008-09-04 21:09:13 +00:00
Derrick Brashear
be4cac8fab DEVEL15-fileserver-sticky-bit-not-admin-only-20080904
LICENSE IPL10

don't restrict the sticky bit to admins.


(cherry picked from commit 9689e78d716422970a0ae3ad89d36acaa517072e)
2008-09-04 20:41:26 +00:00
Jeffrey Altman
71580c6b52 DEVEL15-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.


(cherry picked from commit bbd713ad3f403c9137e01797f576f5dbd04a0f08)
2008-09-03 22:04:51 +00:00
Jeffrey Altman
9ac229a2c1 DEVEL15-windows-smb-lock-order-20080903
LICENSE MIT

another lock order violation to fix


(cherry picked from commit 441cc643e027ab98ed14ab486ec077bbbd0c0d4f)
2008-09-03 21:41:04 +00:00
Derrick Brashear
d0efb7b830 DEVEL15-aix61-old-build-system-20080903
LICENSE IPL10

massage in support for pinstall
2008-09-03 20:35:32 +00:00
Niklas Edmundsson
bfd956832e DEVEL15-aix61-initial-support-20080903
LICENSE IPL10
FIXES 113638

aix 6.1 support


(cherry picked from commit 539535cf679d6e70f34b80b74c127efae1f0bba2)
2008-09-03 19:27:02 +00:00
Jeffrey Altman
ca42b6a490 DEVEL15-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)


(cherry picked from commit 7f4e0dfc3ef1464c8d8b422bf00915fa4538090c)
2008-09-03 19:07:23 +00:00
Derrick Brashear
9735e4c0ed DEVEL15-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.


(cherry picked from commit 995ee981fd2631d6e1e45311cee0a6d58f4a56be)
2008-09-03 17:59:18 +00:00
Jeffrey Altman
96c35b1438 DEVEL15-windows-afsd-dns-env-20080902
LICENSE MIT

Fix the conditionals so that the right thing happens if AFS_AFSDB_ENV
is not defined.


(cherry picked from commit 9803e84e63c28e87c76e6f4e77343fec4ef4dcf4)
2008-09-02 23:35:36 +00:00
Jeffrey Altman
b7d1451499 DEVEL15-windows-fs-setcrypt-auth-20080902
LICENSE MIT

fix parsing and display of fs setcrypt auth


(cherry picked from commit 8bf17e7c813f9b2aa8a953a8d0251322ee970d2c)
2008-09-02 22:25:55 +00:00
Jeffrey Altman
e422b9f856 DEVEL15-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


(cherry picked from commit 84e10d582abdf65a5354b1c4b41d7e2ecad532f8)
2008-09-02 22:21:34 +00:00
Jeffrey Altman
32dbc21151 DEVEL15-windows-rxkad-auth-20080902
LICENSE MIT

Add ability for users to select rxkad auth only mode.
"fs setcrypt auth".


(cherry picked from commit d94b9a78188357f87fa569ec7738d4e69ff05faa)
2008-09-02 22:16:18 +00:00
Jeffrey Altman
21e93f71f5 DEVEL15-windows-afsd-init-20080902
LICENSE MIT

report state of "Rx Jumbo" and "RxExtraPackets" more often


(cherry picked from commit 21abc0e0b51cd3fd014b06b187d497996058ffe4)
2008-09-02 22:09:13 +00:00
Jeffrey Altman
c80205990c DEVEL15-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.


(cherry picked from commit e31826d3331b8eb1893c627ac55eb299df88995b)
2008-09-02 21:18:33 +00:00
Jeffrey Altman
afbf3a15e3 DEVEL15-windows-cell-alloc-reversed-20080902
LICENSE MIT

The approach taken in windows-cell-alloc-20080902 won't work.


(cherry picked from commit 829ff4e54f055de1dc26a1508d2abf4a3c72ff75)
2008-09-02 17:34:41 +00:00
Jeffrey Altman
8116694a08 DEVEL15-windows-cell-alloc-20080902
LICENSE MIT

Perform the initial cm_SearchCellXXX call using a temporary cm_cell_t
object in case the search fails.


(cherry picked from commit ef64f50fb9f477a0acbe1223ee2b0c9981f9324e)
2008-09-02 16:21:39 +00:00
Jeffrey Altman
7fe8eddfc0 DEVEL15-windows-smb-free-lsa-response-20080901
LICENSE MIT

Whether or not LsaCallAuthenticationPackage succeeds, it may return
a response buffer.  If it does, free it.


(cherry picked from commit a653057ff453a0d340c8153615aa44ae1679c892)
2008-09-01 13:39:39 +00:00
Jeffrey Altman
b13a77c357 DEVEL15-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.


(cherry picked from commit 83dadab93adde0812f9ae228667683cfcc761f67)
2008-08-30 15:14:43 +00:00
Jeffrey Altman
a44537d8c7 DEVEL15-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.


(cherry picked from commit a36596f10ff4d87d75a808cabe4e0e5ec661c5df)
2008-08-30 15:05:14 +00:00