Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49686f71060e342bce6644a5c69fbc6ad0e75a13
Commit:     49686f71060e342bce6644a5c69fbc6ad0e75a13
Parent:     4edde74eedb8bc4c03adc3602b114b72a7ccd13f
Author:     Steven Whitehouse <[EMAIL PROTECTED]>
AuthorDate: Mon Jan 8 14:31:40 2007 +0000
Committer:  Steven Whitehouse <[EMAIL PROTECTED]>
CommitDate: Mon Feb 5 13:36:24 2007 -0500

    [GFS2] Fix ordering of page disposal vs. glock_dq
    
    In case of unlinked files with dirty pages GFS2 wasn't clearing
    the pages in quite the right order. This patch clears the pages
    earlier (before the qlock_dq) to avoid the situation that the
    release of the glock results in attempting to write back data that
    has already been deallocated.
    
    This fixes Red Hat bugzilla: #220117
    
    Signed-off-by: Steven Whitehouse <[EMAIL PROTECTED]>
---
 fs/gfs2/ops_super.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/fs/gfs2/ops_super.c b/fs/gfs2/ops_super.c
index b283783..c22738c 100644
--- a/fs/gfs2/ops_super.c
+++ b/fs/gfs2/ops_super.c
@@ -429,6 +429,12 @@ static void gfs2_delete_inode(struct inode *inode)
        }
 
        error = gfs2_dinode_dealloc(ip);
+       /*
+        * Must do this before unlock to avoid trying to write back
+        * potentially dirty data now that inode no longer exists
+        * on disk.
+        */
+       truncate_inode_pages(&inode->i_data, 0);
 
 out_unlock:
        gfs2_glock_dq(&ip->i_iopen_gh);
-
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  http://vger.kernel.org/majordomo-info.html

Reply via email to