aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Kuai <[email protected]>2024-08-26 15:44:13 +0800
committerSong Liu <[email protected]>2024-08-27 10:14:14 -0700
commit968153812215d68c27c0c9d90da6ec2f6d17a606 (patch)
tree983cf6e467cd2e668738255965fbc672bcad44f9
parent38f287d7e495ae00d4481702f44ff7ca79f5c9bc (diff)
md: use new helper md_bitmap_get_stats() in update_array_info()
There are no functional changes, avoid dereferencing bitmap directly to prepare inventing a new bitmap. Signed-off-by: Yu Kuai <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Song Liu <[email protected]>
-rw-r--r--drivers/md/md.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 22731d2717ba..0cca8d3acfe3 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -7577,15 +7577,17 @@ static int update_array_info(struct mddev *mddev, mdu_array_info_t *info)
if (rv)
md_bitmap_destroy(mddev);
} else {
- /* remove the bitmap */
- if (!mddev->bitmap) {
- rv = -ENOENT;
+ struct md_bitmap_stats stats;
+
+ rv = md_bitmap_get_stats(mddev->bitmap, &stats);
+ if (rv)
goto err;
- }
- if (mddev->bitmap->storage.file) {
+
+ if (stats.file) {
rv = -EINVAL;
goto err;
}
+
if (mddev->bitmap_info.nodes) {
/* hold PW on all the bitmap lock */
if (md_cluster_ops->lock_all_bitmaps(mddev) <= 0) {