From: Adrian Bunk wake_up_inode() can become static. Signed-off-by: Adrian Bunk Cc: Joern Engel Signed-off-by: Andrew Morton --- fs/inode.c | 18 +++++++++--------- include/linux/writeback.h | 1 - 2 files changed, 9 insertions(+), 10 deletions(-) diff -puN fs/inode.c~introduce-i_sync-fix fs/inode.c --- a/fs/inode.c~introduce-i_sync-fix +++ a/fs/inode.c @@ -99,6 +99,15 @@ struct inodes_stat_t inodes_stat; static struct kmem_cache * inode_cachep __read_mostly; +static void wake_up_inode(struct inode *inode) +{ + /* + * Prevent speculative execution through spin_unlock(&inode_lock); + */ + smp_mb(); + wake_up_bit(&inode->i_state, __I_LOCK); +} + static struct inode *alloc_inode(struct super_block *sb) { static const struct address_space_operations empty_aops; @@ -1302,15 +1311,6 @@ static void __wait_on_freeing_inode(stru spin_lock(&inode_lock); } -void wake_up_inode(struct inode *inode) -{ - /* - * Prevent speculative execution through spin_unlock(&inode_lock); - */ - smp_mb(); - wake_up_bit(&inode->i_state, __I_LOCK); -} - /* * We rarely want to lock two inodes that do not have a parent/child * relationship (such as directory, child inode) simultaneously. The diff -puN include/linux/writeback.h~introduce-i_sync-fix include/linux/writeback.h --- a/include/linux/writeback.h~introduce-i_sync-fix +++ a/include/linux/writeback.h @@ -69,7 +69,6 @@ struct writeback_control { * fs/fs-writeback.c */ void writeback_inodes(struct writeback_control *wbc); -void wake_up_inode(struct inode *inode); int inode_wait(void *); void sync_inodes_sb(struct super_block *, int wait); void sync_inodes(int wait); _