The attached patch restores the behaviour of the 1.2.x client: writes
appending to a file do not trigger a 0-length read which at best updates the
current status. If another cache manager wrote to the same file in the
meantime, the file status is updated only after the StoreData RPC (and for
the changes the last one wins).
The attached patch restores the behaviour of the 1.2.x client: writes
appending to a file do not trigger a 0-length read which at best updates the
current status. If another cache manager wrote to the same file in the
meantime, the file status is updated only after the StoreData RPC (and for
the changes the last one wins).
addresses:
byte-range locks work (mildly tested)
fixes a reference counting error
can shutdown/restart client
code formatting
major speed improvements
fixes delete operation problem
internal locking in more places
i have reviewed this patch myself carefully. specifically, please review
the changes to cm_buf.c and cm_callback.c. in cm_buf, i added the looping
code because i ran into the following assert once. i am not sure why, and
my attempt to diagnose the problem was not successful.
apart from the byte-range locking code, the code has not change for quite
a bit.
use the generic read/write functions, but set the superblock up correctly.
====================
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.
====================
FIXES 20396
I have built openafs 1.3.85 on an emt64 platform on RedHat Enterprise 4,
and found that the aklog supplied with 1.3.85 (not the one in the afs-krb5
conversion kit) consistently segfaults when aklog is called with the
"-path ...." parm. It works properly when called with no parms.
I traced this down to the call to the readlink() call in aklog_main.c,
when the params structure references were removed the nesting was
changed on an if statement that changed the logic and allowed the
do while loop to loop past the end and de-reference a NULL pointer.
Fix various minor problems with aklog, including the return type from main,
removal of #ifndef __STDC__ code, missing includes, removal of unused
variables, correct number of arguments to pr_Initialize, correct argument
type for pr_SNameToId, and use of getcwd instead of getwd.
i slipped a rollback on the linux 2.4 dentry stuff for osi_UFS* in here
at the same time. this patch lets us use kernel inodes instead of our own pool.
====================
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.
====================
The previous patch to pr_Initialize() opened an opportunity for
afsconf_Check() to be called with a NULL pointer if tdir == 0.
Prevent this occurrance.
====================
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.
====================
fixed one null pointer reference but not the other.
all servers now take -auditlog (path), send ibm-style auditlogs there, rotate the logs like the normal server logs, and will log thread ids when it's multiprocessor. /usr/afs/local/Audit can also be used like on aix on other platforms now.
====================
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.
====================
all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th
e logs like the normal server logs, and will log thread ids when it's multiproce
ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now.
====================
all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th
e logs like the normal server logs, and will log thread ids when it's multiproce
ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now.
====================
all servers now take -auditlog (path), send ibm-style auditlogs there, rotate th
e logs like the normal server logs, and will log thread ids when it's multiproce
ssor. /usr/afs/local/Audit can also be used like on aix on other platforms now.
====================
Windows build dependency changes to support the audit logs
Add a method to disable the deletion of tokens at logoff
====================
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.
====================
add a registry entry to prevent token destruction at logoff
for the longest time aklog implementations with automatic pts registration
have included a work around for a bug in pr_Initialize. The bug fails to
reset the connection when the cell changes. This patch fixes that bug.
====================
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.
====================
for the longest time aklog implementations with automatic pts registration
have included a work around for a bug in pr_Initialize. The bug fails to
reset the connection when the cell changes. pr_Initialize has been fixed
so we can remove the hack.
====================
remove the pr_Initialize force cell change hack from afskfw lib