diff --git a/[refs] b/[refs] index 07fdda655d59..fd9893e7ab8a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1a0fd497733bd029a7d5f2e5c69b1dff715b7792 +refs/heads/master: 8ed0a5216a0238f53b482ec88ce4aeed4b9f0da1 diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index 9e3ce432e37e..3b5cd4ef54f1 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -1984,7 +1984,7 @@ offset_store(mdk_rdev_t *rdev, const char *buf, size_t len) unsigned long long offset = simple_strtoull(buf, &e, 10); if (e==buf || (*e && *e != '\n')) return -EINVAL; - if (rdev->mddev->pers) + if (rdev->mddev->pers && rdev->raid_disk >= 0) return -EBUSY; if (rdev->size && rdev->mddev->external) /* Must set offset before size, so overlap checks @@ -2023,7 +2023,7 @@ rdev_size_store(mdk_rdev_t *rdev, const char *buf, size_t len) if (e==buf || (*e && *e != '\n')) return -EINVAL; - if (my_mddev->pers) + if (my_mddev->pers && rdev->raid_disk >= 0) return -EBUSY; rdev->size = size; if (size > oldsize && rdev->mddev->external) {