From fab56a95b73c997210f261a21bac26c71600cac4 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Tue, 16 Oct 2007 23:30:37 -0700 Subject: [PATCH] --- yaml --- r: 70729 b: refs/heads/master c: 65cb9b47e0ea568a7a38cce7773052a6ea093629 h: refs/heads/master i: 70727: 170ee723ea2697cca41a9676ccf27e6aeefcf3be v: v3 --- [refs] | 2 +- trunk/fs/fs-writeback.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 76632defc079..0135bf13c61a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c6945e77e477103057b4a639b4b01596f5257861 +refs/heads/master: 65cb9b47e0ea568a7a38cce7773052a6ea093629 diff --git a/trunk/fs/fs-writeback.c b/trunk/fs/fs-writeback.c index 1b43cc9d9ebb..30d9383c87c3 100644 --- a/trunk/fs/fs-writeback.c +++ b/trunk/fs/fs-writeback.c @@ -308,7 +308,14 @@ __writeback_single_inode(struct inode *inode, struct writeback_control *wbc) struct address_space *mapping = inode->i_mapping; int ret; - redirty_tail(inode); + /* + * We're skipping this inode because it's locked, and we're not + * doing writeback-for-data-integrity. Move it to the head of + * s_dirty so that writeback can proceed with the other inodes + * on s_io. We'll have another go at writing back this inode + * when the s_dirty iodes get moved back onto s_io. + */ + redirty_head(inode); /* * Even if we don't actually write the inode itself here,