]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE14-windows-notes-20060604
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 5 Jun 2006 02:34:42 +0000 (02:34 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 5 Jun 2006 02:34:42 +0000 (02:34 +0000)
updates

(cherry picked from commit 54eed0930a36c54db73f8e2d10c28b99c2c1e6bb)

doc/txt/winnotes/afs-changes-since-1.2.txt

index 11312b11a578009bc125ae9c824bdf6118b2e132..e38d40bd859518f0468eb0570be7763d2435c04c 100644 (file)
@@ -1,3 +1,32 @@
+Since 1.4.1d:
+
+ * 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.
+
 Since 1.4.1c:  1.4.1d (2 June 2006)
 
  * Add a missing lock that was lost during the pullup