[DRBD-cvs] drbd by phil; drbd_write_bm() got the number of bm_ext...

drbd-user@lists.linbit.com drbd-user@lists.linbit.com
Thu, 22 Apr 2004 10:46:10 +0200 (CEST)


DRBD CVS committal

Author  : phil
Module  : drbd

Dir     : drbd/drbd


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


Log Message:
drbd_write_bm() got the number of bm_extents terribly wrong.
You noticed it if you did:
drbdadm invalidate r0
drbdadm down r0
drbdadm up r0
and resync finished immediately!

Fixed now.

===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_actlog.c,v
retrieving revision 1.1.2.85
retrieving revision 1.1.2.86
diff -u -3 -r1.1.2.85 -r1.1.2.86
--- drbd_actlog.c	18 Apr 2004 10:33:56 -0000	1.1.2.85
+++ drbd_actlog.c	22 Apr 2004 08:46:04 -0000	1.1.2.86
@@ -439,7 +439,9 @@
 	unsigned int exts,i;
 
 	if( !inc_local_md_only(mdev) ) return;
-	exts = div_ceil(mdev->mbds_id->size,BM_EXTENT_SIZE);
+
+	exts = div_ceil(drbd_get_capacity(mdev->this_bdev), 
+			BM_EXTENT_SIZE >> 9 );
 
 	for(i=0;i<exts;i++) {
 		drbd_update_on_disk_bm(mdev,i);