From 97a9daa96c74293a0bc83400db6551423822f357 Mon Sep 17 00:00:00 2001 From: Yongqiang Yang Date: Wed, 28 Dec 2011 13:55:51 -0500 Subject: [PATCH] --- yaml --- r: 282961 b: refs/heads/master c: 5872ddaaf05bf25e3ab90580295ebc946405928c h: refs/heads/master i: 282959: 8610f76a0417aba8b2c219a704fab4446ac322c1 v: v3 --- [refs] | 2 +- trunk/fs/ext4/inode.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 36cadc3fc1eb..c4db5110a526 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2aff57b0c052344e8401a8b4a33c2a1ecb0f627c +refs/heads/master: 5872ddaaf05bf25e3ab90580295ebc946405928c diff --git a/trunk/fs/ext4/inode.c b/trunk/fs/ext4/inode.c index cb0ba9d77a8e..1254934de693 100644 --- a/trunk/fs/ext4/inode.c +++ b/trunk/fs/ext4/inode.c @@ -4660,7 +4660,6 @@ int ext4_change_inode_journal_flag(struct inode *inode, int val) } jbd2_journal_lock_updates(journal); - jbd2_journal_flush(journal); /* * OK, there are no updates running now, and all cached data is @@ -4672,8 +4671,10 @@ int ext4_change_inode_journal_flag(struct inode *inode, int val) if (val) ext4_set_inode_flag(inode, EXT4_INODE_JOURNAL_DATA); - else + else { + jbd2_journal_flush(journal); ext4_clear_inode_flag(inode, EXT4_INODE_JOURNAL_DATA); + } ext4_set_aops(inode); jbd2_journal_unlock_updates(journal);