diff options
author | Philipp Reisner | 2011-11-10 12:12:52 +0100 |
---|---|---|
committer | Philipp Reisner | 2012-11-08 16:58:05 +0100 |
commit | 0cfac5dd904ec8b376beb27f6ad265b12d71bf9e (patch) | |
tree | 91f100e963ae038e7bc410eb0b4ba7beb61eae72 /drivers/block/drbd/drbd_nl.c | |
parent | 376694a0543f5da194d9c6e102cfcd023ffac949 (diff) |
drbd: Fixes from the drbd-8.3 branch
* drbd-8.3:
drbd: fix spurious meta data IO "error"
drbd: Fixed a race condition between detach and start of resync
drbd: fix harmless race to not trigger an ASSERT
drbd: Derive sync-UUIDs only from the bitmap-uuid if it is non-zero
drbd: Fixed current UUID generation (regression introduced recently, after 8.3.11)
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_nl.c')
-rw-r--r-- | drivers/block/drbd/drbd_nl.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index 16c3710e1b9c..c50c1753aa9a 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -1666,7 +1666,9 @@ static int adm_detach(struct drbd_conf *mdev, int force) } drbd_suspend_io(mdev); /* so no-one is stuck in drbd_al_begin_io */ + drbd_md_get_buffer(mdev); /* make sure there is no in-flight meta-data IO */ retcode = drbd_request_state(mdev, NS(disk, D_FAILED)); + drbd_md_put_buffer(mdev); /* D_FAILED will transition to DISKLESS. */ ret = wait_event_interruptible(mdev->misc_wait, mdev->state.disk != D_FAILED); |