LICENSE MIT
The rx library is built in lwp and pthread forms. The methods used to
export data symbols are incompatible between the two. The ubik library
is built with rx headers but only in the lwp form. As a result it is
not possible to link the ubik libs without also including the lwp rx
lib. We have pthreaded servers that require linking to the pthreaded
rx and ubik. To fix the problem all of the macros that assigned values
to variables and were used by ubik have been converted to functions
(but only for Windows.)
LICENSE MIT
FIXES 120318
Lookups of cell names that have a trailing dot should have the dot removed
otherwise there is a risk of duplicate cell entries since "foo" and "foo."
will not match but both will resolve to the same AFSDB record in DNS.
LICENSE IPL10
FIXES 113558
avoid case where revalidate saw a mountpoint which hadn't been rewritten yet
and failed to handle it, exposing ENOENT where the entry existed.
LICENSE IPL10
work harder to ferret out corruption; still reruns itself so if 2 hash chains
are comingled they get split back out correctly without having to flush state
continuously
LICENSE MIT
remove EXT from the function prototype definitions in rx_globals.h
because they result in conflicts with the actual function declarations
and the prototypes in rx_prototypes.h.
LICENSE MIT
re-order the lock hierarchyfor smb_Dir_Watch_Lock so that the
lock does not have to be dropped when sending notifications
within smb_NotifyChange().
LICENSE MIT
in rxi_WriteProc() make sure that rx_call currentPacket is
set to NULL after the rx_packet is added to a queue or
passed to rx_freePacket(). Otherwise we will panic when
we attempt to call rx_freePacket twice on the same packet.
LICENSE IPL10
don't potentially leak packets by leaving them behind and initing queues;
in fact, if you are cleaning up there is no need to init queues anyway.
LICENSE IPL10
don't potentially leak packets by leaving them behind and initing queues;
in fact, if you are cleaning up there is no need to init queues anyway.
LICENSE IPL10
avoid using the same name for the struct and the global so the windows debugger works usefully
====================
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
avoid using the same name for the struct and the global so the windows debugger
works usefully
====================
LICENSE IPL10
avoid using the same name for the struct and the global so the windows debugger
works usefully
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
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.