Commit 11d8b0e6 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Li Nan
Browse files

md: add the bitmap group to the default groups for the md kobject

mainline inclusion
from mainline-v5.16-rc1
commit 51238e7f
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I81XCK

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=51238e7fbd6182e36dbc093c92ae93142c57c0f5



--------------------------------

Replace the deprecated default_attrs with the default_groups mechanism,
and add the always visible bitmap group to the groups created add
kobject_add time.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
Signed-off-by: default avatarLi Nan <linan122@huawei.com>
parent acd17df7
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -5588,6 +5588,10 @@ static struct attribute *md_default_attrs[] = {
	NULL,
};

static const struct attribute_group md_default_group = {
	.attrs = md_default_attrs,
};

static struct attribute *md_redundancy_attrs[] = {
	&md_scan_mode.attr,
	&md_last_scan_mode.attr,
@@ -5610,6 +5614,12 @@ static struct attribute_group md_redundancy_group = {
	.attrs = md_redundancy_attrs,
};

static const struct attribute_group *md_attr_groups[] = {
	&md_default_group,
	&md_bitmap_group,
	NULL,
};

static ssize_t
md_attr_show(struct kobject *kobj, struct attribute *attr, char *page)
{
@@ -5684,7 +5694,7 @@ static const struct sysfs_ops md_sysfs_ops = {
static struct kobj_type md_ktype = {
	.release	= md_free,
	.sysfs_ops	= &md_sysfs_ops,
	.default_attrs	= md_default_attrs,
	.default_groups	= md_attr_groups,
};

int mdp_major = 0;
@@ -5693,7 +5703,6 @@ static void mddev_delayed_delete(struct work_struct *ws)
{
	struct mddev *mddev = container_of(ws, struct mddev, del_work);

	sysfs_remove_group(&mddev->kobj, &md_bitmap_group);
	kobject_del(&mddev->kobj);
	kobject_put(&mddev->kobj);
}
@@ -5813,9 +5822,6 @@ static int md_alloc(dev_t dev, char *name)
			 disk->disk_name);
		error = 0;
	}
	if (mddev->kobj.sd &&
	    sysfs_create_group(&mddev->kobj, &md_bitmap_group))
		pr_debug("pointless warning\n");
 abort:
	mutex_unlock(&disks_mutex);
	if (!error && mddev->kobj.sd) {