sysfs, kernfs: make inode number ida per kernfs_root
authorTejun Heo <tj@kernel.org>
Thu, 28 Nov 2013 19:54:41 +0000 (14:54 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 30 Nov 2013 02:10:48 +0000 (18:10 -0800)
commitbc755553df9ab33f389c1a0a8bd0b4f4646e80ef
treea77c1a97948ebaa6f9a31e9b580ccc0fb254bead
parentba7443bc656e5236c316b2acacc8b551f872910f
sysfs, kernfs: make inode number ida per kernfs_root

kernfs is being updated to allow multiple sysfs_dirent hierarchies so
that it can also be used by other users.  Currently, inode number is
allocated using a global ida, sysfs_ino_ida; however, inos for
different hierarchies should be handled separately.

This patch makes ino allocation per kernfs_root.  sysfs_ino_ida is
replaced by kernfs_root->ino_ida and sysfs_new_dirent() is updated to
take @root and allocate ino from it.  ida_simple_get/remove() are used
instead of sysfs_ino_lock and sysfs_alloc/free_ino().

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