[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1321344152-13033-2-git-send-email-xiaoqiangnk@gmail.com>
Date: Tue, 15 Nov 2011 16:02:32 +0800
From: Yongqiang Yang <xiaoqiangnk@...il.com>
To: jack@...e.cz
Cc: linux-ext4@...r.kernel.org, Yongqiang Yang <xiaoqiangnk@...il.com>
Subject: [PATCH 2/2] ext3: flush journal onmy when journal mode is changed from journaled
To prevent data from corruption during repaly, we need to flush journal
before changing journal mode from journaled. However flushing journal is
not needed when changing journal to journaled.
Signed-off-by: Yongqiang Yang <xiaoqiangnk@...il.com>
---
fs/ext3/inode.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c
index 04da6ac..5577358 100644
--- a/fs/ext3/inode.c
+++ b/fs/ext3/inode.c
@@ -3546,7 +3546,6 @@ int ext3_change_inode_journal_flag(struct inode *inode, int val)
return -EROFS;
journal_lock_updates(journal);
- journal_flush(journal);
/*
* OK, there are no updates running now, and all cached data is
@@ -3556,10 +3555,12 @@ int ext3_change_inode_journal_flag(struct inode *inode, int val)
* the inode's in-core data-journaling state flag now.
*/
- if (val)
+ if (val) {
EXT3_I(inode)->i_flags |= EXT3_JOURNAL_DATA_FL;
- else
+ } else {
+ journal_flush(journal);
EXT3_I(inode)->i_flags &= ~EXT3_JOURNAL_DATA_FL;
+ }
ext3_set_aops(inode);
journal_unlock_updates(journal);
--
1.7.5.1
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists