diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2010-08-31 06:00:50 -0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2010-10-14 12:38:26 -0400 |
commit | 0778286a133d2d3f81861a4e5db308e359583006 (patch) | |
tree | 14bdfe375481d8954ada1ddaa0bc84fcaba4e23d /drivers/block/drbd/drbd_int.h | |
parent | d53733893dc43f4ebb5be510863c5debf0f8990b (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.h | 2 |
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 | ||
868 | struct drbd_bitmap; /* opaque for drbd_conf */ | 869 | struct 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() */ |
1426 | extern unsigned long _drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo); | 1427 | extern unsigned long _drbd_bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo); |
1427 | extern unsigned long _drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_fo); | 1428 | extern unsigned long _drbd_bm_find_next_zero(struct drbd_conf *mdev, unsigned long bm_fo); |
1429 | extern unsigned long _drbd_bm_total_weight(struct drbd_conf *mdev); | ||
1428 | extern unsigned long drbd_bm_total_weight(struct drbd_conf *mdev); | 1430 | extern unsigned long drbd_bm_total_weight(struct drbd_conf *mdev); |
1429 | extern int drbd_bm_rs_done(struct drbd_conf *mdev); | 1431 | extern int drbd_bm_rs_done(struct drbd_conf *mdev); |
1430 | /* for receive_bitmap */ | 1432 | /* for receive_bitmap */ |