[DRBD-cvs] r1583 - trunk

svn at svn.drbd.org svn at svn.drbd.org
Wed Oct 6 09:49:36 CEST 2004


Author: phil
Date: 2004-10-06 09:49:33 +0200 (Wed, 06 Oct 2004)
New Revision: 1583

Modified:
   trunk/ROADMAP
Log:
Made the hash table from item 6 also be used in item 9 of
the ROADMAP


Modified: trunk/ROADMAP
===================================================================
--- trunk/ROADMAP	2004-10-05 19:38:06 UTC (rev 1582)
+++ trunk/ROADMAP	2004-10-06 07:49:33 UTC (rev 1583)
@@ -67,7 +67,7 @@
   Have a hash table (hlist_head style), add the collision
   member (hlist_node) to drbd_request. 
 
-  Use the pointer to the drbd_request as key to the hash, each
+  Use the sector number of the drbd_request as key to the hash, each
   drbd_request is also put into this hash table. We still use the 
   pointer as block_id. 
 
@@ -75,6 +75,9 @@
   block_id, and may find the drbd_request there. Otherwise it 
   was a forged ACK.
 
+  Note: The actual key to the hash should be (sector & ~0x7).
+        See item 9 for more details.
+
 7 Handle split brain situations; Support IO fencing; 
   introduce the "Dead" peer state (o_state)
 
@@ -204,6 +207,12 @@
   a warning to the syslog, since this indicates that the layer
   above us is broken!
 
+  Note: In Item 6 we created a hash table over all requests in the
+        transfer log, keyed with (sector & ~0x7). This allows us
+        to find IO operations starting in the same 4k block of
+        data quickly. -> With two lookups the hash table we can
+	find any concurrent access.
+
   [ see also GFS-mode-arbitration.pdf for illustration. ]
 
 10 Change Sync-groups to sync-after



More information about the drbd-cvs mailing list