aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fs-writeback.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-08-10 14:26:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-08-10 14:26:52 -0400
commit5f248c9c251c60af3403902b26e08de43964ea0b (patch)
tree6d3328e72a7e4015a64017eb30be18095c6a3c64 /fs/fs-writeback.c
parentf6cec0ae58c17522a7bc4e2f39dae19f199ab534 (diff)
parentdca332528bc69e05f67161e1ed59929633d5e63d (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (96 commits) no need for list_for_each_entry_safe()/resetting with superblock list Fix sget() race with failing mount vfs: don't hold s_umount over close_bdev_exclusive() call sysv: do not mark superblock dirty on remount sysv: do not mark superblock dirty on mount btrfs: remove junk sb_dirt change BFS: clean up the superblock usage AFFS: wait for sb synchronization when needed AFFS: clean up dirty flag usage cifs: truncate fallout mbcache: fix shrinker function return value mbcache: Remove unused features add f_flags to struct statfs(64) pass a struct path to vfs_statfs update VFS documentation for method changes. All filesystems that need invalidate_inode_buffers() are doing that explicitly convert remaining ->clear_inode() to ->evict_inode() Make ->drop_inode() just return whether inode needs to be dropped fs/inode.c:clear_inode() is gone fs/inode.c:evict() doesn't care about delete vs. non-delete paths now ... Fix up trivial conflicts in fs/nilfs2/super.c
Diffstat (limited to 'fs/fs-writeback.c')
-rw-r--r--fs/fs-writeback.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 30ac305e8293..b7c7586caea1 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -352,7 +352,7 @@ writeback_single_inode(struct inode *inode, struct writeback_control *wbc)
352 352
353 spin_lock(&inode_lock); 353 spin_lock(&inode_lock);
354 inode->i_state &= ~I_SYNC; 354 inode->i_state &= ~I_SYNC;
355 if (!(inode->i_state & (I_FREEING | I_CLEAR))) { 355 if (!(inode->i_state & I_FREEING)) {
356 if ((inode->i_state & I_DIRTY_PAGES) && wbc->for_kupdate) { 356 if ((inode->i_state & I_DIRTY_PAGES) && wbc->for_kupdate) {
357 /* 357 /*
358 * More pages get dirtied by a fast dirtier. 358 * More pages get dirtied by a fast dirtier.
@@ -499,7 +499,7 @@ static int writeback_sb_inodes(struct super_block *sb, struct bdi_writeback *wb,
499 if (inode_dirtied_after(inode, wbc->wb_start)) 499 if (inode_dirtied_after(inode, wbc->wb_start))
500 return 1; 500 return 1;
501 501
502 BUG_ON(inode->i_state & (I_FREEING | I_CLEAR)); 502 BUG_ON(inode->i_state & I_FREEING);
503 __iget(inode); 503 __iget(inode);
504 pages_skipped = wbc->pages_skipped; 504 pages_skipped = wbc->pages_skipped;
505 writeback_single_inode(inode, wbc); 505 writeback_single_inode(inode, wbc);
@@ -936,7 +936,7 @@ void __mark_inode_dirty(struct inode *inode, int flags)
936 if (hlist_unhashed(&inode->i_hash)) 936 if (hlist_unhashed(&inode->i_hash))
937 goto out; 937 goto out;
938 } 938 }
939 if (inode->i_state & (I_FREEING|I_CLEAR)) 939 if (inode->i_state & I_FREEING)
940 goto out; 940 goto out;
941 941
942 /* 942 /*
@@ -1002,7 +1002,7 @@ static void wait_sb_inodes(struct super_block *sb)
1002 list_for_each_entry(inode, &sb->s_inodes, i_sb_list) { 1002 list_for_each_entry(inode, &sb->s_inodes, i_sb_list) {
1003 struct address_space *mapping; 1003 struct address_space *mapping;
1004 1004
1005 if (inode->i_state & (I_FREEING|I_CLEAR|I_WILL_FREE|I_NEW)) 1005 if (inode->i_state & (I_FREEING|I_WILL_FREE|I_NEW))
1006 continue; 1006 continue;
1007 mapping = inode->i_mapping; 1007 mapping = inode->i_mapping;
1008 if (mapping->nrpages == 0) 1008 if (mapping->nrpages == 0)