]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
md: merge mddev has_superblock into mddev_flags
authorYu Kuai <yukuai@fnnas.com>
Wed, 14 Jan 2026 17:12:30 +0000 (01:12 +0800)
committerYu Kuai <yukuai@fnnas.com>
Mon, 26 Jan 2026 05:09:55 +0000 (13:09 +0800)
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>
drivers/md/md.c
drivers/md/md.h

index 6d73f6e196a9f94fc128748b931d68d8e96a932a..bf7666e227a146da17cfabac0841ef3be504ad5d 100644 (file)
@@ -6502,7 +6502,7 @@ int md_run(struct mddev *mddev)
         * the only valid external interface is through the md
         * device.
         */
-       mddev->has_superblocks = false;
+       clear_bit(MD_HAS_SUPERBLOCK, &mddev->flags);
        rdev_for_each(rdev, mddev) {
                if (test_bit(Faulty, &rdev->flags))
                        continue;
@@ -6515,7 +6515,7 @@ int md_run(struct mddev *mddev)
                }
 
                if (rdev->sb_page)
-                       mddev->has_superblocks = true;
+                       set_bit(MD_HAS_SUPERBLOCK, &mddev->flags);
 
                /* perform some consistency tests on the device.
                 * 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();
        if (did_change)
                sysfs_notify_dirent_safe(mddev->sysfs_state);
-       if (!mddev->has_superblocks)
+       if (!test_bit(MD_HAS_SUPERBLOCK, &mddev->flags))
                return;
        wait_event(mddev->sb_wait,
                   !test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags));
index 6985f2829bbd6a0b0f63b6a724c3e5e829636815..b4c9aa600edd9fdb04b671d816e651dc5f34bf9b 100644 (file)
@@ -340,6 +340,7 @@ struct md_cluster_operations;
  *                array is ready yet.
  * @MD_BROKEN: This is used to stop writes and mark array as failed.
  * @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
  */
@@ -356,6 +357,7 @@ enum mddev_flags {
        MD_BROKEN,
        MD_DO_DELETE,
        MD_DELETED,
+       MD_HAS_SUPERBLOCK,
 };
 
 enum mddev_sb_flags {
@@ -623,7 +625,6 @@ struct mddev {
        /* The sequence number for sync thread */
        atomic_t sync_seq;
 
-       bool    has_superblocks:1;
        bool    fail_last_dev:1;
        bool    serialize_policy:1;
 };