X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Ffs-writeback.c;h=5f3ccf9890531a6a4f23cb7d7293def4155179eb;hb=27879d9d66f2dea19cfcd0e1df8358a33447f45b;hp=136967605f00094bfbff1facd303ce9332a07973;hpb=a91482bdcc2e0f6035702e46f1b99043a0893346;p=linux-2.6.git diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 136967605..5f3ccf989 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -213,9 +213,8 @@ __sync_single_inode(struct inode *inode, struct writeback_control *wbc) } else if (inode->i_state & I_DIRTY) { /* * Someone redirtied the inode while were writing back - * the pages. + * the pages: nothing to do. */ - list_move(&inode->i_list, &sb->s_dirty); } else if (atomic_read(&inode->i_count)) { /* * The inode is clean, inuse @@ -226,7 +225,6 @@ __sync_single_inode(struct inode *inode, struct writeback_control *wbc) * The inode is clean, unused */ list_move(&inode->i_list, &inode_unused); - inodes_stat.nr_unused++; } } wake_up_inode(inode); @@ -360,7 +358,6 @@ sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc) list_move(&inode->i_list, &sb->s_dirty); } spin_unlock(&inode_lock); - cond_resched(); iput(inode); spin_lock(&inode_lock); if (wbc->nr_to_write <= 0) @@ -393,7 +390,6 @@ writeback_inodes(struct writeback_control *wbc) { struct super_block *sb; - might_sleep(); spin_lock(&inode_lock); spin_lock(&sb_lock); restart: @@ -549,7 +545,6 @@ void write_inode_now(struct inode *inode, int sync) if (inode->i_mapping->backing_dev_info->memory_backed) return; - might_sleep(); spin_lock(&inode_lock); __writeback_single_inode(inode, &wbc); spin_unlock(&inode_lock);