|
@@ -2288,9 +2288,9 @@ location_store(struct mddev *mddev, const char *buf, size_t len)
|
|
|
goto out;
|
|
|
}
|
|
|
if (mddev->pers) {
|
|
|
- mddev->pers->quiesce(mddev, 1);
|
|
|
+ mddev_suspend(mddev);
|
|
|
md_bitmap_destroy(mddev);
|
|
|
- mddev->pers->quiesce(mddev, 0);
|
|
|
+ mddev_resume(mddev);
|
|
|
}
|
|
|
mddev->bitmap_info.offset = 0;
|
|
|
if (mddev->bitmap_info.file) {
|
|
@@ -2327,8 +2327,8 @@ location_store(struct mddev *mddev, const char *buf, size_t len)
|
|
|
mddev->bitmap_info.offset = offset;
|
|
|
if (mddev->pers) {
|
|
|
struct bitmap *bitmap;
|
|
|
- mddev->pers->quiesce(mddev, 1);
|
|
|
bitmap = md_bitmap_create(mddev, -1);
|
|
|
+ mddev_suspend(mddev);
|
|
|
if (IS_ERR(bitmap))
|
|
|
rv = PTR_ERR(bitmap);
|
|
|
else {
|
|
@@ -2337,11 +2337,12 @@ location_store(struct mddev *mddev, const char *buf, size_t len)
|
|
|
if (rv)
|
|
|
mddev->bitmap_info.offset = 0;
|
|
|
}
|
|
|
- mddev->pers->quiesce(mddev, 0);
|
|
|
if (rv) {
|
|
|
md_bitmap_destroy(mddev);
|
|
|
+ mddev_resume(mddev);
|
|
|
goto out;
|
|
|
}
|
|
|
+ mddev_resume(mddev);
|
|
|
}
|
|
|
}
|
|
|
}
|