Distributed Replicated Block Device (DRBD) development
 help / color / mirror / Atom feed
* [Drbd-dev] DRBD8: ASSERT( mdev->bc->md.uuid[Bitmap] == 0 ) in drbd_main.c:drbd_uuid_new_current()
@ 2007-07-31 21:18 Montrose, Ernest
  2007-08-01 15:07 ` Philipp Reisner
  0 siblings, 1 reply; 2+ messages in thread
From: Montrose, Ernest @ 2007-07-31 21:18 UTC (permalink / raw)
  To: drbd-dev


[-- Attachment #1.1: Type: text/plain, Size: 625 bytes --]

Hi all,
We are seeing another problem that occurs with the following sequence of
events:
drbdadm secondary vm2.root.fs
drbdadm detach vm2.root.fs
drbdadm primary vm2.root.fs
drbdadm secondary vm2.root.fs
drbdadm primary vm2.root.fs <----- This causes the assert
drbdadm attach vm2.root.fs  <------ This causes an instant Split brain
but only because of the assert above.
 
I think what's happening is that we are generating a new bitmap UUID
every time the diskless peer goes Primary.
I see no reason why we have to do this more then once.  I include a tiny
patch to do it just one time. 
 
Thanks,
 
EM--

[-- Attachment #1.2: Type: text/html, Size: 7322 bytes --]

[-- Attachment #2: bitmapassert.patch --]
[-- Type: application/octet-stream, Size: 500 bytes --]

Index: drbd/drbd_main.c
===================================================================
--- drbd/drbd_main.c	(revision 16853)
+++ drbd/drbd_main.c	(working copy)
@@ -933,7 +933,8 @@
 
 	if( ns.pdsk < Inconsistent ) {
 		/* Diskless Peer becomes primary */
-		if (os.peer == Secondary && ns.peer == Primary ) {
+		if (os.peer == Secondary && ns.peer == Primary &&
+                  mdev->bc->md.uuid[Bitmap] == 0 ) {
 			drbd_uuid_new_current(mdev);
 		}
 		/* Diskless Peer becomes secondary */

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-08-01 15:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-31 21:18 [Drbd-dev] DRBD8: ASSERT( mdev->bc->md.uuid[Bitmap] == 0 ) in drbd_main.c:drbd_uuid_new_current() Montrose, Ernest
2007-08-01 15:07 ` Philipp Reisner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox