aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md
diff options
context:
space:
mode:
authorJack Wang <jinpu.wang@profitbricks.com>2018-10-08 11:24:03 -0400
committerShaohua Li <shli@fb.com>2018-10-10 14:03:34 -0400
commitf8f83d8ffeb47041ff0937ecac6d10bcb388cd9f (patch)
tree788efa9231794db0718915c578fa63141b182513 /drivers/md
parent116d99adf59314924adae0cb691e4d289b5f2407 (diff)
md/bitmap: use mddev_suspend/resume instead of ->quiesce()
After 9e1cc0a54556 ("md: use mddev_suspend/resume instead of ->quiesce()") We still have similar left in bitmap functions. Replace quiesce() with mddev_suspend/resume. Also move md_bitmap_create out of mddev_suspend. and move mddev_resume after md_bitmap_destroy. as we did in set_bitmap_file. Signed-off-by: Jack Wang <jinpu.wang@profitbricks.com> Reviewed-by: Gioh Kim <gi-oh.kim@profitbricks.com> Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/md-bitmap.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
index 2fc8c113977f..1cd4f991792c 100644
--- a/drivers/md/md-bitmap.c
+++ b/drivers/md/md-bitmap.c
@@ -2288,9 +2288,9 @@ location_store(struct mddev *mddev, const char *buf, size_t len)
2288 goto out; 2288 goto out;
2289 } 2289 }
2290 if (mddev->pers) { 2290 if (mddev->pers) {
2291 mddev->pers->quiesce(mddev, 1); 2291 mddev_suspend(mddev);
2292 md_bitmap_destroy(mddev); 2292 md_bitmap_destroy(mddev);
2293 mddev->pers->quiesce(mddev, 0); 2293 mddev_resume(mddev);
2294 } 2294 }
2295 mddev->bitmap_info.offset = 0; 2295 mddev->bitmap_info.offset = 0;
2296 if (mddev->bitmap_info.file) { 2296 if (mddev->bitmap_info.file) {
@@ -2327,8 +2327,8 @@ location_store(struct mddev *mddev, const char *buf, size_t len)
2327 mddev->bitmap_info.offset = offset; 2327 mddev->bitmap_info.offset = offset;
2328 if (mddev->pers) { 2328 if (mddev->pers) {
2329 struct bitmap *bitmap; 2329 struct bitmap *bitmap;
2330 mddev->pers->quiesce(mddev, 1);
2331 bitmap = md_bitmap_create(mddev, -1); 2330 bitmap = md_bitmap_create(mddev, -1);
2331 mddev_suspend(mddev);
2332 if (IS_ERR(bitmap)) 2332 if (IS_ERR(bitmap))
2333 rv = PTR_ERR(bitmap); 2333 rv = PTR_ERR(bitmap);
2334 else { 2334 else {
@@ -2337,11 +2337,12 @@ location_store(struct mddev *mddev, const char *buf, size_t len)
2337 if (rv) 2337 if (rv)
2338 mddev->bitmap_info.offset = 0; 2338 mddev->bitmap_info.offset = 0;
2339 } 2339 }
2340 mddev->pers->quiesce(mddev, 0);
2341 if (rv) { 2340 if (rv) {
2342 md_bitmap_destroy(mddev); 2341 md_bitmap_destroy(mddev);
2342 mddev_resume(mddev);
2343 goto out; 2343 goto out;
2344 } 2344 }
2345 mddev_resume(mddev);
2345 } 2346 }
2346 } 2347 }
2347 } 2348 }