kernfs: add kernfs_dir_ops
authorTejun Heo <tj@kernel.org>
Wed, 11 Dec 2013 21:03:00 +0000 (16:03 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2013 16:59:15 +0000 (08:59 -0800)
commit80b9bbefc345079bddc4959de016ba4074b0c8d6
tree24d24636b01d9f9e31b39e08a8cfd0978ce9fd9d
parent19bbb926203dbcf3a03915e934c36d7681bf6e13
kernfs: add kernfs_dir_ops

Add support for mkdir(2), rmdir(2) and rename(2) syscalls.  This is
implemented through optional kernfs_dir_ops callback table which can
be specified on kernfs_create_root().  An implemented callback is
invoked when the matching syscall is invoked.

As kernfs keep dcache syncs with internal representation and
revalidates dentries on each access, the implementation of these
methods is extremely simple.  Each just discovers the relevant
kernfs_node(s) and invokes the requested callback which is allowed to
do any kernfs operations and the end result doesn't necessarily have
to match the expected semantics of the syscall.

This will be used to convert cgroup to use kernfs instead of its own
filesystem implementation.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/kernfs/dir.c
fs/sysfs/mount.c
include/linux/kernfs.h