[DRBD-cvs] drbd by phil; * A bugfix to the sync_groups feature. I...
drbd-user@lists.linbit.com
drbd-user@lists.linbit.com
Wed, 21 Jan 2004 16:16:20 +0100 (CET)
DRBD CVS committal
Author : phil
Module : drbd
Dir : drbd/drbd
Modified Files:
Tag: rel-0_7-branch
drbd_dsender.c drbd_fs.c
Log Message:
* A bugfix to the sync_groups feature. It tried to resync resync of
devices that were not trying to resync.
* A bugfix to drbd_fs.c. It began to send sync requests before it
informed the other node that resynchronisation started.
If you used the "drbdsetup /dev/nbd/X invalidate" command.
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/Attic/drbd_dsender.c,v
retrieving revision 1.1.2.57
retrieving revision 1.1.2.58
diff -u -3 -r1.1.2.57 -r1.1.2.58
--- drbd_dsender.c 21 Jan 2004 14:59:05 -0000 1.1.2.57
+++ drbd_dsender.c 21 Jan 2004 15:16:20 -0000 1.1.2.58
@@ -301,14 +301,16 @@
for (i=0; i < minor_count; i++) { // find next sync group
odev = drbd_conf + i;
if ( odev->sync_conf.group > mdev->sync_conf.group
- && odev->sync_conf.group < ng ) {
- ng = odev->sync_conf.group;
+ && odev->sync_conf.group < ng &&
+ (odev->cstate==PausedSyncS || odev->cstate==PausedSyncT)){
+ ng = odev->sync_conf.group;
}
}
for (i=0; i < minor_count; i++) { // resume all devices in next group
odev = drbd_conf + i;
- if ( odev->sync_conf.group == ng ) {
+ if ( odev->sync_conf.group == ng &&
+ (odev->cstate==PausedSyncS || odev->cstate==PausedSyncT)){
_drbd_rs_resume(odev);
}
}
===================================================================
RCS file: /var/lib/cvs/drbd/drbd/drbd/drbd_fs.c,v
retrieving revision 1.28.2.46
retrieving revision 1.28.2.47
diff -u -3 -r1.28.2.46 -r1.28.2.47
--- drbd_fs.c 21 Jan 2004 14:59:05 -0000 1.28.2.46
+++ drbd_fs.c 21 Jan 2004 15:16:20 -0000 1.28.2.47
@@ -669,8 +669,8 @@
bm_fill_bm(mdev->mbds_id,-1);
mdev->rs_total=blk_size[MAJOR_NR][minor]<<1;
drbd_write_bm(mdev);
- drbd_start_resync(mdev,SyncTarget);
drbd_send_short_cmd(mdev,BecomeSyncSource);
+ drbd_start_resync(mdev,SyncTarget);
break;
case DRBD_IOCTL_INVALIDATE_REM:
@@ -682,8 +682,8 @@
bm_fill_bm(mdev->mbds_id,-1);
mdev->rs_total=blk_size[MAJOR_NR][minor]<<1;
drbd_write_bm(mdev);
- drbd_start_resync(mdev,SyncSource);
drbd_send_short_cmd(mdev,BecomeSyncTarget);
+ drbd_start_resync(mdev,SyncSource);
break;
case DRBD_IOCTL_SECONDARY_REM: