aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/md/md.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 8c1e1900893d..ea6837d45fc8 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -3601,10 +3601,13 @@ static int set_bitmap_file(mddev_t *mddev, int fd)
3601 mddev->pers->quiesce(mddev, 1); 3601 mddev->pers->quiesce(mddev, 1);
3602 if (fd >= 0) 3602 if (fd >= 0)
3603 err = bitmap_create(mddev); 3603 err = bitmap_create(mddev);
3604 if (fd < 0 || err) 3604 if (fd < 0 || err) {
3605 bitmap_destroy(mddev); 3605 bitmap_destroy(mddev);
3606 fd = -1; /* make sure to put the file */
3607 }
3606 mddev->pers->quiesce(mddev, 0); 3608 mddev->pers->quiesce(mddev, 0);
3607 } else if (fd < 0) { 3609 }
3610 if (fd < 0) {
3608 if (mddev->bitmap_file) 3611 if (mddev->bitmap_file)
3609 fput(mddev->bitmap_file); 3612 fput(mddev->bitmap_file);
3610 mddev->bitmap_file = NULL; 3613 mddev->bitmap_file = NULL;