You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
kernfs: implement kernfs_node_from_dentry(), kernfs_root_from_sb() and kernfs_rename()
Implement helpers to determine node from dentry and root from
super_block. Also add a kernfs_rename_ns() wrapper which assumes NULL
namespace. These generally make sense and will be used by cgroup.
v2: Some dummy implementations for !CONFIG_SYSFS was missing. Fixed.
Reported by kbuild test robot.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2536390da0
commit
0c23b2259a
@@ -350,6 +350,24 @@ const struct dentry_operations kernfs_dops = {
|
||||
.d_release = kernfs_dop_release,
|
||||
};
|
||||
|
||||
/**
|
||||
* kernfs_node_from_dentry - determine kernfs_node associated with a dentry
|
||||
* @dentry: the dentry in question
|
||||
*
|
||||
* Return the kernfs_node associated with @dentry. If @dentry is not a
|
||||
* kernfs one, %NULL is returned.
|
||||
*
|
||||
* While the returned kernfs_node will stay accessible as long as @dentry
|
||||
* is accessible, the returned node can be in any state and the caller is
|
||||
* fully responsible for determining what's accessible.
|
||||
*/
|
||||
struct kernfs_node *kernfs_node_from_dentry(struct dentry *dentry)
|
||||
{
|
||||
if (dentry->d_op == &kernfs_dops)
|
||||
return dentry->d_fsdata;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct kernfs_node *__kernfs_new_node(struct kernfs_root *root,
|
||||
const char *name, umode_t mode,
|
||||
unsigned flags)
|
||||
|
||||
Reference in New Issue
Block a user