block: add a new revalidate_disk_size helper
[linux-2.6-microblaze.git] / drivers / md / md-cluster.c
index 73fd50e..0580b51 100644 (file)
@@ -582,7 +582,7 @@ static int process_recvd_msg(struct mddev *mddev, struct cluster_msg *msg)
                break;
        case CHANGE_CAPACITY:
                set_capacity(mddev->gendisk, mddev->array_sectors);
-               revalidate_disk(mddev->gendisk);
+               revalidate_disk_size(mddev->gendisk, true);
                break;
        case RESYNCING:
                set_bit(MD_RESYNCING_REMOTE, &mddev->recovery);
@@ -1139,6 +1139,7 @@ static int resize_bitmaps(struct mddev *mddev, sector_t newsize, sector_t oldsiz
                bitmap = get_bitmap_from_slot(mddev, i);
                if (IS_ERR(bitmap)) {
                        pr_err("can't get bitmap from slot %d\n", i);
+                       bitmap = NULL;
                        goto out;
                }
                counts = &bitmap->counts;
@@ -1295,12 +1296,12 @@ static void update_size(struct mddev *mddev, sector_t old_dev_sectors)
                        pr_err("%s:%d: failed to send CHANGE_CAPACITY msg\n",
                               __func__, __LINE__);
                set_capacity(mddev->gendisk, mddev->array_sectors);
-               revalidate_disk(mddev->gendisk);
+               revalidate_disk_size(mddev->gendisk, true);
        } else {
                /* revert to previous sectors */
                ret = mddev->pers->resize(mddev, old_dev_sectors);
                if (!ret)
-                       revalidate_disk(mddev->gendisk);
+                       revalidate_disk_size(mddev->gendisk, true);
                ret = __sendmsg(cinfo, &cmsg);
                if (ret)
                        pr_err("%s:%d: failed to send METADATA_UPDATED msg\n",