[DRBD-cvs] drbd by phil; Makes state changes (primary/secondary) ...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Tue, 25 May 2004 16:51:35 +0200 (CEST)


DRBD CVS committal

Author  : phil
Module  : drbd

Dir     : drbd/drbd


Modified Files:
      Tag: rel-0_7-branch
	drbd_fs.c 


Log Message:
Makes state changes (primary/secondary) possible on disk-less nodes.

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_fs.c,v
retrieving revision 1.28.2.97
retrieving revision 1.28.2.98
diff -u -3 -r1.28.2.97 -r1.28.2.98
--- drbd_fs.c	24 May 2004 11:39:45 -0000	1.28.2.97
+++ drbd_fs.c	25 May 2004 14:51:30 -0000	1.28.2.98
@@ -624,11 +624,13 @@
 		ONLY_IN_26( set_disk_ro(mdev->vdisk, TRUE ); )
 	}
 
-	if(newstate & Secondary && mdev->rs_total) {
-		drbd_al_to_on_disk_bm(mdev);
+	if(!test_bit(DISKLESS,&mdev->flags)) {
+		if(newstate & Secondary) {
+			drbd_al_to_on_disk_bm(mdev);
+		}
+		/* Primary indicator has changed in any case. */
+		drbd_md_write(mdev);
 	}
-	/* Primary indicator has changed in any case. */
-	drbd_md_write(mdev);
 
 	if (mdev->cstate >= WFReportParams)
 		drbd_send_param(mdev,0);