[dm-devel] dm sysfs: use default_groups in kobj_type

Greg Kroah-Hartman gregkh at linuxfoundation.org
Thu Jan 6 15:04:27 UTC 2022


On Thu, Jan 06, 2022 at 09:25:11AM -0500, Mike Snitzer wrote:
> On Thu, Jan 06 2022 at  5:02P -0500,
> Greg Kroah-Hartman <gregkh at linuxfoundation.org> 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 at redhat.com>
> > Cc: Mike Snitzer <snitzer at redhat.com>
> > Cc: dm-devel at redhat.com
> > Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> > ---
> >  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.

0-day would instantly catch that :)

That's the way the ATTRIBUTE_GROUPS() macro works.  It's tricky, yes,
and I don't like it all that much, but couldn't come up with a better
way at the time.  It saves lots and lots of boiler-plate code from
having to be typed all the time.

thanks,

greg k-h




More information about the dm-devel mailing list