[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