aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2010-01-29 15:38:34 -0800
committerThomas Gleixner <tglx@linutronix.de>2010-04-27 17:32:54 +0200
commitc8c34fe3ba9b739aa495e2f295ac8d46b479567a (patch)
tree1605f9ecb04aeb0d418004e07d4f2b33e13f7c66 /include
parentd48369f49733ab843c216f41519eebc4fb1a5357 (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.h10
-rw-r--r--include/linux/fsnotify_backend.h4
-rw-r--r--include/linux/inotify.h4
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)
{
}