md: merge mddev has_superblock into mddev_flags

There is not need to use a separate field in struct mddev, there are no
functional changes.

Link: https://lore.kernel.org/linux-raid/20260114171241.3043364-3-yukuai@fnnas.com
Signed-off-by: Yu Kuai <yukuai@fnnas.com>
Reviewed-by: Li Nan <linan122@huawei.com>
This commit is contained in:
Yu Kuai
2026-01-15 01:12:30 +08:00
parent 2d9f7150ac
commit fba4a98040
2 changed files with 5 additions and 4 deletions

View File

@@ -6502,7 +6502,7 @@ int md_run(struct mddev *mddev)
* the only valid external interface is through the md * the only valid external interface is through the md
* device. * device.
*/ */
mddev->has_superblocks = false; clear_bit(MD_HAS_SUPERBLOCK, &mddev->flags);
rdev_for_each(rdev, mddev) { rdev_for_each(rdev, mddev) {
if (test_bit(Faulty, &rdev->flags)) if (test_bit(Faulty, &rdev->flags))
continue; continue;
@@ -6515,7 +6515,7 @@ int md_run(struct mddev *mddev)
} }
if (rdev->sb_page) if (rdev->sb_page)
mddev->has_superblocks = true; set_bit(MD_HAS_SUPERBLOCK, &mddev->flags);
/* perform some consistency tests on the device. /* perform some consistency tests on the device.
* We don't want the data to overlap the metadata, * We don't want the data to overlap the metadata,
@@ -9125,7 +9125,7 @@ void md_write_start(struct mddev *mddev, struct bio *bi)
rcu_read_unlock(); rcu_read_unlock();
if (did_change) if (did_change)
sysfs_notify_dirent_safe(mddev->sysfs_state); sysfs_notify_dirent_safe(mddev->sysfs_state);
if (!mddev->has_superblocks) if (!test_bit(MD_HAS_SUPERBLOCK, &mddev->flags))
return; return;
wait_event(mddev->sb_wait, wait_event(mddev->sb_wait,
!test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags)); !test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags));

View File

@@ -340,6 +340,7 @@ struct md_cluster_operations;
* array is ready yet. * array is ready yet.
* @MD_BROKEN: This is used to stop writes and mark array as failed. * @MD_BROKEN: This is used to stop writes and mark array as failed.
* @MD_DELETED: This device is being deleted * @MD_DELETED: This device is being deleted
* @MD_HAS_SUPERBLOCK: There is persistence sb in member disks.
* *
* change UNSUPPORTED_MDDEV_FLAGS for each array type if new flag is added * change UNSUPPORTED_MDDEV_FLAGS for each array type if new flag is added
*/ */
@@ -356,6 +357,7 @@ enum mddev_flags {
MD_BROKEN, MD_BROKEN,
MD_DO_DELETE, MD_DO_DELETE,
MD_DELETED, MD_DELETED,
MD_HAS_SUPERBLOCK,
}; };
enum mddev_sb_flags { enum mddev_sb_flags {
@@ -623,7 +625,6 @@ struct mddev {
/* The sequence number for sync thread */ /* The sequence number for sync thread */
atomic_t sync_seq; atomic_t sync_seq;
bool has_superblocks:1;
bool fail_last_dev:1; bool fail_last_dev:1;
bool serialize_policy:1; bool serialize_policy:1;
}; };