Commit:     670e4def6ef5f44315d62748134e535b479c784f
Parent:     65cb9b47e0ea568a7a38cce7773052a6ea093629
Author:     Andrew Morton <[EMAIL PROTECTED]>
AuthorDate: Tue Oct 16 23:30:37 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Wed Oct 17 08:43:02 2007 -0700

    writeback: fix time ordering of the per superblock dirty inode lists 7
    This one fixes four bugs.
    There are a few situation in there where writeback decides it is going to 
    over a blockdev inode on the kernel-internal blockdev superblock.  It
    presently does this by moving the blockdev inode onto the tail of the 
    superblock's s_dirty.  But
    a) this screws up s_dirty's reverse-time-orderedness and
    b) refiling the blockdev for writeback in another 30 second is rude.  We
       should try again sooner than that.
    Fix all this up by using redirty_head(): move the blockdev inode onto the 
    of the blockdev superblock's s_dirty list for prompt writeback.
    Cc: Mike Waychison <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
 fs/fs-writeback.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 30d9383..39fadfa 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -410,14 +410,14 @@ sync_sb_inodes(struct super_block *sb, struct 
writeback_control *wbc)
                        wbc->encountered_congestion = 1;
                        if (!sb_is_blkdev_sb(sb))
                                break;          /* Skip a congested fs */
-                       list_move(&inode->i_list, &sb->s_dirty);
+                       redirty_head(inode);
                        continue;               /* Skip a congested blockdev */
                if (wbc->bdi && bdi != wbc->bdi) {
                        if (!sb_is_blkdev_sb(sb))
                                break;          /* fs has the wrong queue */
-                       list_move(&inode->i_list, &sb->s_dirty);
+                       redirty_head(inode);
                        continue;               /* blockdev has wrong queue */
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to