diff --git a/[refs] b/[refs] index 73797fb4620c..b7ec5e1c6a6c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 52c03291a832d86c093996d0491a326de4a6b79b +refs/heads/master: d7375ab324971e7acbea9f02a0269ae7348f4147 diff --git a/trunk/drivers/md/md.c b/trunk/drivers/md/md.c index 8c1e1900893d..ea6837d45fc8 100644 --- a/trunk/drivers/md/md.c +++ b/trunk/drivers/md/md.c @@ -3601,10 +3601,13 @@ static int set_bitmap_file(mddev_t *mddev, int fd) mddev->pers->quiesce(mddev, 1); if (fd >= 0) err = bitmap_create(mddev); - if (fd < 0 || err) + if (fd < 0 || err) { bitmap_destroy(mddev); + fd = -1; /* make sure to put the file */ + } mddev->pers->quiesce(mddev, 0); - } else if (fd < 0) { + } + if (fd < 0) { if (mddev->bitmap_file) fput(mddev->bitmap_file); mddev->bitmap_file = NULL;