This commit was manufactured by cvs2svn to create branch
[linux-2.6.git] / fs / fs-writeback.c
index 430afc3..1369676 100644 (file)
@@ -360,6 +360,7 @@ 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)
@@ -392,6 +393,7 @@ writeback_inodes(struct writeback_control *wbc)
 {
        struct super_block *sb;
 
+       might_sleep();
        spin_lock(&inode_lock);
        spin_lock(&sb_lock);
 restart:
@@ -547,6 +549,7 @@ 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);