Hi, On Wed, Aug 14, 2024 at 11:06 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> 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