Recent change to bitmap_create mishandles errors.
In particular a failure doesn't alway cause 'err' to be set.
Signed-off-by: NeilBrown <neilb@suse.de>
                        if (!IS_ERR(bitmap)) {
                                mddev->bitmap = bitmap;
                                err = bitmap_load(mddev);
-                       }
+                       } else
+                               err = PTR_ERR(bitmap);
                }
                if (fd < 0 || err) {
                        bitmap_destroy(mddev);
                        if (!IS_ERR(bitmap)) {
                                mddev->bitmap = bitmap;
                                rv = bitmap_load(mddev);
-                       }
+                       } else
+                               rv = PTR_ERR(bitmap);
                        if (rv)
                                bitmap_destroy(mddev);
                        mddev->pers->quiesce(mddev, 0);