aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_int.h
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2010-08-31 06:00:50 -0400
committerPhilipp Reisner <philipp.reisner@linbit.com>2010-10-14 12:38:26 -0400
commit0778286a133d2d3f81861a4e5db308e359583006 (patch)
tree14bdfe375481d8954ada1ddaa0bc84fcaba4e23d /drivers/block/drbd/drbd_int.h
parentd53733893dc43f4ebb5be510863c5debf0f8990b (diff)
drbd: Disable activity log updates when the whole device is out of sync
When the complete device is marked as out of sync, we can disable updates of the on disk AL. Currently AL updates are only disabled if one uses the "invalidate-remote" command on an unconnected, primary device, or when at attach time all bits in the bitmap are set. As of now, AL updated do not get disabled when a all bits becomes set due to application writes to an unconnected DRBD device. While this is a missing feature, it is not considered important, and might get added later. BTW, after initializing a "one legged" DRBD device drbdadm create-md resX drbdadm -- --force primary resX AL updates also get disabled, until the first connect. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_int.h')
-rw-r--r--drivers/block/drbd/drbd_int.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
index 58dc02bd16c2..bb3a488b6fd6 100644
--- a/drivers/block/drbd/drbd_int.h
+++ b/drivers/block/drbd/drbd_int.h
@@ -863,6 +863,7 @@ enum {
863 CONN_DRY_RUN, /* Expect disconnect after resync handshake. */ 863 CONN_DRY_RUN, /* Expect disconnect after resync handshake. */
864 GOT_PING_ACK, /* set when we receive a ping_ack packet, misc wait gets woken */ 864 GOT_PING_ACK, /* set when we receive a ping_ack packet, misc wait gets woken */
865 NEW_CUR_UUID, /* Create new current UUID when thawing IO */ 865 NEW_CUR_UUID, /* Create new current UUID when thawing IO */
866 AL_SUSPENDED, /* Activity logging is currently suspended. */
866}; 867};
867 868
868struct drbd_bitmap; /* opaque for drbd_conf */ 869struct drbd_bitmap; /* opaque for drbd_conf */
@@ -1425,6 +1426,7 @@ extern unsigned long drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_
1425/* bm_find_next variants for use while you hold drbd_bm_lock() */ 1426/* bm_find_next variants for use while you hold drbd_bm_lock() */
1426extern unsigned long _drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo); 1427extern unsigned long _drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo);
1427extern unsigned long _drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_fo); 1428extern unsigned long _drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_fo);
1429extern unsigned long _drbd_bm_total_weight(struct drbd_conf *mdev);
1428extern unsigned long drbd_bm_total_weight(struct drbd_conf *mdev); 1430extern unsigned long drbd_bm_total_weight(struct drbd_conf *mdev);
1429extern int drbd_bm_rs_done(struct drbd_conf *mdev); 1431extern int drbd_bm_rs_done(struct drbd_conf *mdev);
1430/* for receive_bitmap */ 1432/* for receive_bitmap */