diff options
author | Lars Ellenberg <lars.ellenberg@linbit.com> | 2010-10-15 13:16:53 +0200 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2010-10-22 15:36:56 +0200 |
commit | aaa8e2b34c35d67abf1892cd62ea4e7565ca262c (patch) | |
tree | 19e0cb68b9481dbfa89b26b58d33071f7f2db9bf /drivers/block/drbd/drbd_main.c | |
parent | 6362beea8914cbd4630ccde3617d944aeca2d48f (diff) | |
download | kernel_samsung_tuna-aaa8e2b34c35d67abf1892cd62ea4e7565ca262c.zip kernel_samsung_tuna-aaa8e2b34c35d67abf1892cd62ea4e7565ca262c.tar.gz kernel_samsung_tuna-aaa8e2b34c35d67abf1892cd62ea4e7565ca262c.tar.bz2 |
drbd: consolidate explicit drbd_md_sync into drbd_create_new_uuid
Every code path changing the current UUID needs to get it on stable
storage anyways. Flush it to disk right there, remove the now obsolte
explicit drbd_md_sync statements in the other code paths.
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_main.c')
-rw-r--r-- | drivers/block/drbd/drbd_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index 8bfedc7..8d029b1 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c @@ -1267,7 +1267,6 @@ static void after_state_ch(struct drbd_conf *mdev, union drbd_state os, if (test_bit(NEW_CUR_UUID, &mdev->flags)) { drbd_uuid_new_current(mdev); clear_bit(NEW_CUR_UUID, &mdev->flags); - drbd_md_sync(mdev); } spin_lock_irq(&mdev->req_lock); _drbd_set_state(_NS(mdev, susp_fen, 0), CS_VERBOSE, NULL); @@ -3659,6 +3658,8 @@ void drbd_uuid_new_current(struct drbd_conf *mdev) __must_hold(local) get_random_bytes(&val, sizeof(u64)); _drbd_uuid_set(mdev, UI_CURRENT, val); + /* get it to stable storage _now_ */ + drbd_md_sync(mdev); } void drbd_uuid_set_bm(struct drbd_conf *mdev, u64 val) __must_hold(local) |