diff options
author | Nick Piggin <npiggin@suse.de> | 2010-01-29 15:38:34 -0800 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-04-27 17:32:54 +0200 |
commit | c8c34fe3ba9b739aa495e2f295ac8d46b479567a (patch) | |
tree | 1605f9ecb04aeb0d418004e07d4f2b33e13f7c66 /include | |
parent | d48369f49733ab843c216f41519eebc4fb1a5357 (diff) |
fs-sb-inodes-percpu
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fs.h | 10 | ||||
-rw-r--r-- | include/linux/fsnotify_backend.h | 4 | ||||
-rw-r--r-- | include/linux/inotify.h | 4 |
3 files changed, 13 insertions, 5 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 63d5c2e7b398..94b8fa3f486e 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -733,6 +733,9 @@ struct inode { struct rcu_head i_rcu; }; unsigned long i_ino; +#ifdef CONFIG_SMP + int i_sb_list_cpu; +#endif unsigned int i_count; unsigned int i_nlink; uid_t i_uid; @@ -1345,9 +1348,13 @@ struct super_block { #endif struct xattr_handler **s_xattr; - struct list_head s_inodes; /* all inodes */ struct hlist_head s_anon; /* anonymous dentries for (nfs) exporting */ #ifdef CONFIG_SMP + struct list_head *s_inodes; +#else + struct list_head s_inodes; /* all inodes */ +#endif +#ifdef CONFIG_SMP struct list_head *s_files; #else struct list_head s_files; @@ -2187,6 +2194,7 @@ extern struct inode *new_inode(struct super_block *); extern int should_remove_suid(struct dentry *); extern int file_remove_suid(struct file *); +extern void inode_sb_list_del(struct inode *inode); extern void __insert_inode_hash(struct inode *, unsigned long hashval); extern void __remove_inode_hash(struct inode *); extern void remove_inode_hash(struct inode *); diff --git a/include/linux/fsnotify_backend.h b/include/linux/fsnotify_backend.h index a6db0585cf04..e776fb5ed01a 100644 --- a/include/linux/fsnotify_backend.h +++ b/include/linux/fsnotify_backend.h @@ -344,7 +344,7 @@ extern void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry); extern void fsnotify_clear_marks_by_group(struct fsnotify_group *group); extern void fsnotify_get_mark(struct fsnotify_mark_entry *entry); extern void fsnotify_put_mark(struct fsnotify_mark_entry *entry); -extern void fsnotify_unmount_inodes(struct list_head *list); +extern void fsnotify_unmount_inodes(struct super_block *sb); /* put here because inotify does some weird stuff when destroying watches */ extern struct fsnotify_event *fsnotify_create_event(struct inode *to_tell, __u32 mask, @@ -374,7 +374,7 @@ static inline u32 fsnotify_get_cookie(void) return 0; } -static inline void fsnotify_unmount_inodes(struct list_head *list) +static inline void fsnotify_unmount_inodes(struct super_block *sb) {} #endif /* CONFIG_FSNOTIFY */ diff --git a/include/linux/inotify.h b/include/linux/inotify.h index 37ea2894b3c0..e8bcd7c6c0cc 100644 --- a/include/linux/inotify.h +++ b/include/linux/inotify.h @@ -111,7 +111,7 @@ extern void inotify_inode_queue_event(struct inode *, __u32, __u32, const char *, struct inode *); extern void inotify_dentry_parent_queue_event(struct dentry *, __u32, __u32, const char *); -extern void inotify_unmount_inodes(struct list_head *); +extern void inotify_unmount_inodes(struct super_block *); extern void inotify_inode_is_dead(struct inode *); extern u32 inotify_get_cookie(void); @@ -161,7 +161,7 @@ static inline void inotify_dentry_parent_queue_event(struct dentry *dentry, { } -static inline void inotify_unmount_inodes(struct list_head *list) +static inline void inotify_unmount_inodes(struct super_block *sb) { } |