From 54eed0930a36c54db73f8e2d10c28b99c2c1e6bb Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 5 Jun 2006 02:29:19 +0000 Subject: [PATCH] windows-notes-20060604 notes --- doc/txt/winnotes/afs-changes-since-1.2.txt | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/doc/txt/winnotes/afs-changes-since-1.2.txt b/doc/txt/winnotes/afs-changes-since-1.2.txt index 786c9c087..175d60de4 100644 --- a/doc/txt/winnotes/afs-changes-since-1.2.txt +++ b/doc/txt/winnotes/afs-changes-since-1.2.txt @@ -1,3 +1,81 @@ +Since 1.5.1: + + * A deadlock was detected when performing "fs flushall" if the + file server reports VNOVNODE. The scp->createBufferLock is + already held by the current thread and there is no mechanism + to propagate the knowledge. Therefore, an alternate mechanism + for clearing the cache must be developed. A new function + cm_RecycleSCache(scp,flags) has been extracted from + cm_GetNewSCache(). This function performs the task of recycling + an cm_scache_t object. When called from cm_GetNewSCache() with + no flags the expectation is that there are no associated buffers + that are queued to be read or written. When called from + cm_Analyze() with the CM_SCACHE_RECYCLEFLAG_DESTROY_BUFFERS + flag, any queued buffers will be de-queued and marked as if + the operations were performed so the data can be discarded. + + * CM_ERROR codes were logged as "unknown" by cm_Analyze. + + * In response to VNOVNODE, the parent is only discarded if the current + cm_scache_t is not a directory. + + * In the Ioctl FlushFile and FlushVolume functions, there were no + checks to protect against flushing the Freelance SCache entries. + + * In FlushFile, the wrong cm_scache_t object was being released. + + * In cm_GetNewSCache, do not allow Freelance SCache entries to be + recycled. Choose a new entry if cm_RecycleSCache fails. + + * Speed up the performance of the cache manager by not + holding the smb_fid_t mutex across calls to cm_SyncOp + and AFS RPCs. + + * Ensure that all smb_fid_t flag references are protected. + + * Remove a deadlock between smb_fid_t mutex and + smb_rctLock introduced in 1.4.1. + + * Fix aklog AFSID lookup to use not send the realm + name when the realm is the local realm for the + cell. The PT Server doesn't strip the realm + name when it is the local realm. + + * Treat "\\afs\*." as an alias for "\\afs\all" + + * Dynamically adjust the priority of server threads + based upon the age of the CIFS request that is + being processed. The priority is bumped one level + for every 15 seconds of processing time. + + * The original openafs contribution mis-used the + cm_GetCallback function. This function should only + be called as a side effect of a call to + cm_SyncOp(CM_SCACHESYNC_NEEDCALLBACK). The way it + was being called results in a FetchStatus RPC being + performed even when the client already has a valid + callback and does so in a manner that destroys the + synchronization of the threads that are calling + cm_SyncOp. If nothing else this results in a + significant performance penalty. + + * More changes to cleanup of smb_vc_t objects in + order to prevent race conditions. + + * Reduce the amount of Power Management event logging + to afsd_init.log + + * If the client detects that the IP address has + changed, force the use of new RX connections. This + enables the file server to recognize that the client + has moved. + + * Remove a race condition and deadlock associated + with cleanup of smb_vc_t objects. + + * Fix the ANSI filename support. One function that + required it was missing the translations. + Changes not present in 1.4.1 and since 1.5.0: 1.5.1 released (24 April 2006) -- 2.39.5