diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-10-17 02:25:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 11:42:45 -0400 |
commit | e0bf68ddec4f4f90e5871404be4f1854c17f3120 (patch) | |
tree | 36203a3558cbe26d698bed18be69b3822fb5eef2 /fs/sysfs | |
parent | dc62a30e274d003a4d08fb888f1520add4b21373 (diff) |
mm: bdi init hooks
provide BDI constructor/destructor hooks
[akpm@linux-foundation.org: compile fix]
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/sysfs')
-rw-r--r-- | fs/sysfs/inode.c | 5 | ||||
-rw-r--r-- | fs/sysfs/mount.c | 4 | ||||
-rw-r--r-- | fs/sysfs/sysfs.h | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/fs/sysfs/inode.c b/fs/sysfs/inode.c index c4ef945d39c8..d9262f74f94e 100644 --- a/fs/sysfs/inode.c +++ b/fs/sysfs/inode.c | |||
@@ -37,6 +37,11 @@ static const struct inode_operations sysfs_inode_operations ={ | |||
37 | .setattr = sysfs_setattr, | 37 | .setattr = sysfs_setattr, |
38 | }; | 38 | }; |
39 | 39 | ||
40 | int __init sysfs_inode_init(void) | ||
41 | { | ||
42 | return bdi_init(&sysfs_backing_dev_info); | ||
43 | } | ||
44 | |||
40 | int sysfs_setattr(struct dentry * dentry, struct iattr * iattr) | 45 | int sysfs_setattr(struct dentry * dentry, struct iattr * iattr) |
41 | { | 46 | { |
42 | struct inode * inode = dentry->d_inode; | 47 | struct inode * inode = dentry->d_inode; |
diff --git a/fs/sysfs/mount.c b/fs/sysfs/mount.c index c76c540be3c8..74168266cd59 100644 --- a/fs/sysfs/mount.c +++ b/fs/sysfs/mount.c | |||
@@ -92,6 +92,10 @@ int __init sysfs_init(void) | |||
92 | if (!sysfs_dir_cachep) | 92 | if (!sysfs_dir_cachep) |
93 | goto out; | 93 | goto out; |
94 | 94 | ||
95 | err = sysfs_inode_init(); | ||
96 | if (err) | ||
97 | goto out_err; | ||
98 | |||
95 | err = register_filesystem(&sysfs_fs_type); | 99 | err = register_filesystem(&sysfs_fs_type); |
96 | if (!err) { | 100 | if (!err) { |
97 | sysfs_mount = kern_mount(&sysfs_fs_type); | 101 | sysfs_mount = kern_mount(&sysfs_fs_type); |
diff --git a/fs/sysfs/sysfs.h b/fs/sysfs/sysfs.h index f0326f281d1c..f8417988f6b0 100644 --- a/fs/sysfs/sysfs.h +++ b/fs/sysfs/sysfs.h | |||
@@ -146,6 +146,7 @@ static inline void sysfs_put(struct sysfs_dirent *sd) | |||
146 | struct inode *sysfs_get_inode(struct sysfs_dirent *sd); | 146 | struct inode *sysfs_get_inode(struct sysfs_dirent *sd); |
147 | int sysfs_setattr(struct dentry *dentry, struct iattr *iattr); | 147 | int sysfs_setattr(struct dentry *dentry, struct iattr *iattr); |
148 | int sysfs_hash_and_remove(struct sysfs_dirent *dir_sd, const char *name); | 148 | int sysfs_hash_and_remove(struct sysfs_dirent *dir_sd, const char *name); |
149 | int sysfs_inode_init(void); | ||
149 | 150 | ||
150 | /* | 151 | /* |
151 | * file.c | 152 | * file.c |