[DRBD-cvs] r1925 - branches/drbd-0.6/drbd
drbd-cvs at lists.linbit.com
drbd-cvs at lists.linbit.com
Thu Aug 25 16:29:16 CEST 2005
Author: lars
Date: 2005-08-25 16:29:15 +0200 (Thu, 25 Aug 2005)
New Revision: 1925
Modified:
branches/drbd-0.6/drbd/drbd_receiver.c
branches/drbd-0.6/drbd/drbd_req-2.4.c
Log:
clear the "write hint queued" bit on disconnect.
Modified: branches/drbd-0.6/drbd/drbd_receiver.c
===================================================================
--- branches/drbd-0.6/drbd/drbd_receiver.c 2005-08-25 12:46:37 UTC (rev 1924)
+++ branches/drbd-0.6/drbd/drbd_receiver.c 2005-08-25 14:29:15 UTC (rev 1925)
@@ -1379,6 +1379,9 @@
clear_bit(DO_NOT_INC_CONCNT,&drbd_conf[minor].flags);
+ /* it may still be set, because some unplug was on the fly */
+ if (!disable_io_hints) mdev->flags &= ~(1<<WRITE_HINT_QUEUED);
+
printk(KERN_INFO DEVICE_NAME "%d: Connection lost.\n",minor);
}
Modified: branches/drbd-0.6/drbd/drbd_req-2.4.c
===================================================================
--- branches/drbd-0.6/drbd/drbd_req-2.4.c 2005-08-25 12:46:37 UTC (rev 1924)
+++ branches/drbd-0.6/drbd/drbd_req-2.4.c 2005-08-25 14:29:15 UTC (rev 1925)
@@ -253,7 +253,9 @@
}
if(!test_and_set_bit(WRITE_HINT_QUEUED,&mdev->flags)) {
- queue_task(&mdev->write_hint_tq, &tq_disk);
+ /* if it could not be queued, clear our flag again, too */
+ if (!queue_task(&mdev->write_hint_tq, &tq_disk))
+ clear_bit(WRITE_HINT_QUEUED,&mdev->flags);
}
submit_bh(rw,nbh);
More information about the drbd-cvs
mailing list