linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH md-6.12 1/1] md: add new_level sysfs interface
@ 2024-08-28  2:18 Xiao Ni
  2024-08-28  5:19 ` Paul Menzel
  2024-09-02 10:13 ` Mariusz Tkaczyk
  0 siblings, 2 replies; 6+ messages in thread
From: Xiao Ni @ 2024-08-28  2:18 UTC (permalink / raw)
  To: song; +Cc: linux-raid, yukuai1

This interface is used to updating new level during reshape progress.
Now it doesn't update new level during reshape. So it can't know the
new level when systemd service mdadm-grow-continue runs. And it can't
finally change to new level.

Signed-off-by: Xiao Ni <xni@redhat.com>
---
 drivers/md/md.c | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/md/md.c b/drivers/md/md.c
index d3a837506a36..c639eca03df9 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -4141,6 +4141,34 @@ level_store(struct mddev *mddev, const char *buf, size_t len)
 static struct md_sysfs_entry md_level =
 __ATTR(level, S_IRUGO|S_IWUSR, level_show, level_store);
 
+static ssize_t
+new_level_show(struct mddev *mddev, char *page)
+{
+	return sprintf(page, "%d\n", mddev->new_level);
+}
+
+static ssize_t
+new_level_store(struct mddev *mddev, const char *buf, size_t len)
+{
+	unsigned int n;
+	int err;
+
+	err = kstrtouint(buf, 10, &n);
+	if (err < 0)
+		return err;
+	err = mddev_lock(mddev);
+	if (err)
+		return err;
+
+	mddev->new_level = n;
+	md_update_sb(mddev, 1);
+
+	mddev_unlock(mddev);
+	return err ?: len;
+}
+static struct md_sysfs_entry md_new_level =
+__ATTR(new_level, 0664, new_level_show, new_level_store);
+
 static ssize_t
 layout_show(struct mddev *mddev, char *page)
 {
@@ -5666,6 +5694,7 @@ __ATTR(serialize_policy, S_IRUGO | S_IWUSR, serialize_policy_show,
 
 static struct attribute *md_default_attrs[] = {
 	&md_level.attr,
+	&md_new_level.attr,
 	&md_layout.attr,
 	&md_raid_disks.attr,
 	&md_uuid.attr,
-- 
2.32.0 (Apple Git-132)


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-09-03  7:17 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-28  2:18 [PATCH md-6.12 1/1] md: add new_level sysfs interface Xiao Ni
2024-08-28  5:19 ` Paul Menzel
     [not found]   ` <CALTww28by8qkYeYzS7GzU-2kQ+ddKZZ0g0iFrrdm8PFuCANiVw@mail.gmail.com>
     [not found]     ` <97efa417-bbf9-445e-980c-da2c9c6f6948@molgen.mpg.de>
2024-08-28 13:56       ` Xiao Ni
2024-09-02 10:13 ` Mariusz Tkaczyk
2024-09-03  0:18   ` Xiao Ni
2024-09-03  7:17     ` Mariusz Tkaczyk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).