From 8b01b1366d378ed9063a15074e60325558ad9cc2 Mon Sep 17 00:00:00 2001 From: Lars Ellenberg Date: Fri, 15 Oct 2010 09:52:46 +0200 Subject: [PATCH] --- yaml --- r: 213168 b: refs/heads/master c: 5dbfe7aedf54aa7f62fd659e34371d4ea0e7bffe h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/block/drbd/drbd_main.c | 3 +++ trunk/include/linux/drbd.h | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 1aa3a8b2fb7c..151201739cb5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ac7241211ded714873e8dc6d2f7c98ae7ea2cc30 +refs/heads/master: 5dbfe7aedf54aa7f62fd659e34371d4ea0e7bffe diff --git a/trunk/drivers/block/drbd/drbd_main.c b/trunk/drivers/block/drbd/drbd_main.c index bbe3bff2cad6..8bfedc7164fa 100644 --- a/trunk/drivers/block/drbd/drbd_main.c +++ b/trunk/drivers/block/drbd/drbd_main.c @@ -3763,6 +3763,9 @@ static int w_go_diskless(struct drbd_conf *mdev, struct drbd_work *w, int unused * the protected members anymore, though, so in the after_state_ch work * it will be safe to free them. */ drbd_force_state(mdev, NS(disk, D_DISKLESS)); + /* We need to wait for return of references checked out while we still + * have been D_FAILED, though (drbd_md_sync, bitmap io). */ + wait_event(mdev->misc_wait, !atomic_read(&mdev->local_cnt)); clear_bit(GO_DISKLESS, &mdev->flags); return 1; diff --git a/trunk/include/linux/drbd.h b/trunk/include/linux/drbd.h index da7d9bd4f3f0..9b2a0158f399 100644 --- a/trunk/include/linux/drbd.h +++ b/trunk/include/linux/drbd.h @@ -53,7 +53,7 @@ extern const char *drbd_buildtag(void); -#define REL_VERSION "8.3.9rc1" +#define REL_VERSION "8.3.9rc2" #define API_VERSION 88 #define PRO_VERSION_MIN 86 #define PRO_VERSION_MAX 95