Re: dm sysfs: use default_groups in kobj_type

From: Mike Snitzer
Date: Thu Jan 06 2022 - 09:25:21 EST


On Thu, Jan 06 2022 at 5:02P -0500,
Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:

> There are currently 2 ways to create a set of sysfs files for a
> kobj_type, through the default_attrs field, and the default_groups
> field. Move the dm sysfs code to use default_groups field which has
> been the preferred way since aa30f47cf666 ("kobject: Add support for
> default attribute groups to kobj_type") so that we can soon get rid of
> the obsolete default_attrs field.
>
> Cc: Alasdair Kergon <agk@xxxxxxxxxx>
> Cc: Mike Snitzer <snitzer@xxxxxxxxxx>
> Cc: dm-devel@xxxxxxxxxx
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/md/dm-sysfs.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/md/dm-sysfs.c b/drivers/md/dm-sysfs.c
> index a05fcd50e1b9..e28c92478536 100644
> --- a/drivers/md/dm-sysfs.c
> +++ b/drivers/md/dm-sysfs.c
> @@ -112,6 +112,7 @@ static struct attribute *dm_attrs[] = {
> &dm_attr_rq_based_seq_io_merge_deadline.attr,
> NULL,
> };
> +ATTRIBUTE_GROUPS(dm);

Bit strange to pass "dm" but then have ATTRIBUTE_GROUPS assume dm_attrs defined.
Feels like it'll invite janitors sending patches, that they never
compile, to remove dm_attrs.

>
> static const struct sysfs_ops dm_sysfs_ops = {
> .show = dm_attr_show,
> @@ -120,7 +121,7 @@ static const struct sysfs_ops dm_sysfs_ops = {
>
> static struct kobj_type dm_ktype = {
> .sysfs_ops = &dm_sysfs_ops,
> - .default_attrs = dm_attrs,
> + .default_groups = dm_groups,
> .release = dm_kobject_release,
> };
>
> --
> 2.34.1
>

But I've picked this patch up for 5.17. Thanks.