[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK-6q+hN8ZRAHc7aS7C_RO4pEGN1t3eA_vDChsSgsQOcJEU4vg@mail.gmail.com>
Date: Wed, 14 Aug 2024 16:47:28 -0400
From: Alexander Aring <aahringo@...hat.com>
To: Greg KH <gregkh@...uxfoundation.org>
Cc: teigland@...hat.com, gfs2@...ts.linux.dev, song@...nel.org,
yukuai3@...wei.com, agruenba@...hat.com, mark@...heh.com, jlbec@...lplan.org,
joseph.qi@...ux.alibaba.com, rafael@...nel.org, akpm@...ux-foundation.org,
linux-kernel@...r.kernel.org, linux-raid@...r.kernel.org,
ocfs2-devel@...ts.linux.dev, lucien.xin@...il.com
Subject: Re: [RFC dlm/next 09/12] kobject: export generic helper ops
Hi,
On Wed, Aug 14, 2024 at 11:06 AM Greg KH <gregkh@...uxfoundation.org> wrote:
>
> On Wed, Aug 14, 2024 at 10:34:11AM -0400, Alexander Aring wrote:
> > This patch exports generic helpers like kset_release() and
> > kset_get_ownership() so users can use them in their own struct kobj_type
> > implementation instead of implementing their own functions that do the
> > same.
>
> Why is anyone needing these? What raw kobjects require this type of
> stuff?
>
In this patch series I introduced kset_type_create_and_add() to have
the possibility to do the exact same what kset_create_and_add() is
doing, just setting a different "struct kobj_type", for the kset that
is created internally by kset_create_and_add(). I can't use
kset_create_and_add() as it always uses "kset_ktype", see [0].
I am doing that to have only a callback for ".child_ns_type" assigned
as it returns the "&net_ns_type_operations;" structure to tell
underneath everything is separated by net namespaces.
I don't want to change anything else so the "struct kobj_type" should
look like what kset_create_and_add() is doing. Therefore I am creating
the same structure as kset_create_and_add() is using, see [0]. The
"kobj_sysfs_ops" structure seems to be already accessible from
outside, just the two functions I am exporting in this patch are
missing. Or I implement it in the same way in the dlm/gfs2 codebase
(that is what nfs is currently doing, see [1]).
And then we are at the two users of those kobjects that are using
those functions, it's DLM and GFS2 as they used kset_create_and_add()
before and I just want to add the ".child_ns_type" callback. Other
users could be nfs [1] (for the release, get_ownership - I have no
idea).
thanks.
- Alex
[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/lib/kobject.c?h=v6.11-rc3#n937
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/nfs/sysfs.c?h=v6.11-rc3#n23
Powered by blists - more mailing lists