diff options
author | Tejun Heo <htejun@gmail.com> | 2007-06-13 15:27:25 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-07-11 19:09:09 -0400 |
commit | 51225039f3cf9d250596d1344494b293274b9169 (patch) | |
tree | 4e646ab37043068824a146c7353c6242a4eb72df /fs/sysfs/sysfs.h | |
parent | 53e0ae92690c52eceb997905d85fbb42de5fff63 (diff) |
sysfs: make directory dentries and inodes reclaimable
This patch makes dentries and inodes for sysfs directories
reclaimable.
* sysfs_notify() is modified to walk sysfs_dirent tree instead of
dentry tree.
* sysfs_update_file() and sysfs_chmod_file() use sysfs_get_dentry() to
grab the victim dentry.
* sysfs_rename_dir() and sysfs_move_dir() grab all dentries using
sysfs_get_dentry() on startup.
* Dentries for all shadowed directories are pinned in memory to serve
as lookup start point.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/sysfs/sysfs.h')
-rw-r--r-- | fs/sysfs/sysfs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/sysfs/sysfs.h b/fs/sysfs/sysfs.h index 72530dc666fd..6a37f2386a8d 100644 --- a/fs/sysfs/sysfs.h +++ b/fs/sysfs/sysfs.h | |||
@@ -52,6 +52,7 @@ struct sysfs_addrm_cxt { | |||
52 | }; | 52 | }; |
53 | 53 | ||
54 | extern struct vfsmount * sysfs_mount; | 54 | extern struct vfsmount * sysfs_mount; |
55 | extern struct sysfs_dirent sysfs_root; | ||
55 | extern struct kmem_cache *sysfs_dir_cachep; | 56 | extern struct kmem_cache *sysfs_dir_cachep; |
56 | 57 | ||
57 | extern struct dentry *sysfs_get_dentry(struct sysfs_dirent *sd); | 58 | extern struct dentry *sysfs_get_dentry(struct sysfs_dirent *sd); |