From 4c74133663325844c5c6adba704ba5c4a080b06b Mon Sep 17 00:00:00 2001 From: Andreas Gruenbacher Date: Sun, 12 Dec 2010 17:45:41 +0100 Subject: [PATCH] --- yaml --- r: 242863 b: refs/heads/master c: 24dccabb390412d04435e11cfb535df51def7b2d h: refs/heads/master i: 242861: c2f420745f27b7655ea96c831e7d402939edc240 242859: 82c323433ded3396c8e5c61cf243c77c391b55df 242855: 18807ec96cd7b96f7eb63740cac94e820600bc56 242847: 2d9de549113b67c18566576b32ab99be8e1a2403 v: v3 --- [refs] | 2 +- trunk/drivers/block/drbd/drbd_nl.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index e5f86deaad92..e23b61677fb8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2c46407d241f4b0e5b87959aae8f50f41fdd2a3a +refs/heads/master: 24dccabb390412d04435e11cfb535df51def7b2d diff --git a/trunk/drivers/block/drbd/drbd_nl.c b/trunk/drivers/block/drbd/drbd_nl.c index ada5483f7e56..2f0724982143 100644 --- a/trunk/drivers/block/drbd/drbd_nl.c +++ b/trunk/drivers/block/drbd/drbd_nl.c @@ -643,11 +643,17 @@ enum determine_dev_size drbd_determin_dev_size(struct drbd_conf *mdev, enum dds_ || prev_size != mdev->ldev->md.md_size_sect; if (la_size_changed || md_moved) { + int err; + drbd_al_shrink(mdev); /* All extents inactive. */ dev_info(DEV, "Writing the whole bitmap, %s\n", la_size_changed && md_moved ? "size changed and md moved" : la_size_changed ? "size changed" : "md moved"); - rv = drbd_bitmap_io(mdev, &drbd_bm_write, "size changed"); /* does drbd_resume_io() ! */ + err = drbd_bitmap_io(mdev, &drbd_bm_write, "size changed"); /* does drbd_resume_io() ! */ + if (err) { + rv = dev_size_error; + goto out; + } drbd_md_mark_dirty(mdev); }