From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755798AbbJ1J44 (ORCPT ); Wed, 28 Oct 2015 05:56:56 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:57145 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755649AbbJ1J4y (ORCPT ); Wed, 28 Oct 2015 05:56:54 -0400 X-AuditID: cbfee61b-f79d56d0000048c5-f7-56309be465f9 From: Chao Yu To: Jaegeuk Kim Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] f2fs: commit atomic written page in LFS mode Date: Wed, 28 Oct 2015 17:56:14 +0800 Message-id: <01ab01d11166$f9579ce0$ec06d6a0$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-index: AdERYLpNgcteeWkbQ9uBkysYX/qmLA== Content-language: zh-cn X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNLMWRmVeSWpSXmKPExsVy+t9jQd2nsw3CDPpvMVs8WT+L2eLSIneL y7vmsDkwe2xa1cnmsXvBZyaPz5vkApijuGxSUnMyy1KL9O0SuDLmb1zPXHCLteLPn26WBsZr LF2MnBwSAiYS/9b9YIewxSQu3FvP1sXIxSEkMItRonPNHCjnFaPEnmnbwDrYBFQklnf8ZwKx RYDsQ4sug3UzC3hINHZ8ZwWxhQUcJe79PM0IYrMIqEocfNIL1MvBwStgKXHsVhFImFdAUOLH 5HssEK1aEut3HmeCsOUlNq95ywxxkILEjrOvGSFW6UlMPDKNDaJGXGLjkVssExiBrkQYNQvJ qFlIRs1C0rKAkWUVo0RqQXJBcVJ6rlFearlecWJucWleul5yfu4mRnAQP5PewXh4l/shRgEO RiUeXoMKvTAh1sSy4srcQ4wSHMxKIrzfWgzChHhTEiurUovy44tKc1KLDzFKc7AoifNeyNAI ExJITyxJzU5NLUgtgskycXBKNTCa+T68z+N2yYmFu68m2d+zwT9t43LnFUJl9729N28M3FrI 6Pu8/d5Fnk+X/s/kqrIzn7DeYo77yniR4pWGjFPEG5T0LauUYre6l0798rtDbsbu7P0/1Uyt Fn2O5zvDNXFChpd+t1PQ8807IuTXLuO2Kvz3vcFKkr2pZb7pE6FvjmLLHqTJblRiKc5INNRi LipOBAA6XCB3XgIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We should always commit atomic written pages in LFS mode, otherwise data will become corrupted if we encounter suddent power cut after partial pages committed in IPU mode. Signed-off-by: Chao Yu --- fs/f2fs/data.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index e070ac0..509caee 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1093,6 +1093,7 @@ int do_write_data_page(struct f2fs_io_info *fio) */ if (unlikely(fio->blk_addr != NEW_ADDR && !is_cold_data(page) && + !IS_ATOMIC_WRITTEN_PAGE(page) && need_inplace_update(inode))) { rewrite_data_page(fio); set_inode_flag(F2FS_I(inode), FI_UPDATE_WRITE); -- 2.6.1