diff options
author | Yu Kuai <yukuai3@huawei.com> | 2024-08-26 15:44:13 +0800 |
---|---|---|
committer | Song Liu <song@kernel.org> | 2024-08-27 10:14:14 -0700 |
commit | 968153812215d68c27c0c9d90da6ec2f6d17a606 (patch) | |
tree | 983cf6e467cd2e668738255965fbc672bcad44f9 /drivers/md/md.c | |
parent | 38f287d7e495ae00d4481702f44ff7ca79f5c9bc (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 <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/20240826074452.1490072-4-yukuai1@huaweicloud.com
Signed-off-by: Song Liu <song@kernel.org>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r-- | drivers/md/md.c | 12 |
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) { |