Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752570AbdCENwP (ORCPT ); Sun, 5 Mar 2017 08:52:15 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55164 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752238AbdCENwN (ORCPT ); Sun, 5 Mar 2017 08:52:13 -0500 From: Jeff Layton To: viro@zeniv.linux.org.uk, konishi.ryusuke@lab.ntt.co.jp Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-nilfs@vger.kernel.org Subject: [PATCH 1/3] nilfs2: set the mapping error when calling SetPageError on writeback Date: Sun, 5 Mar 2017 08:35:33 -0500 Message-Id: <20170305133535.6516-2-jlayton@redhat.com> In-Reply-To: <20170305133535.6516-1-jlayton@redhat.com> References: <20170305133535.6516-1-jlayton@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Sun, 05 Mar 2017 13:35:39 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 983 Lines: 29 In a later patch, we're going to want to make the fsync codepath not do a TestClearPageError call as that can override the error set in the address space. To do that though, we need to ensure that filesystems that are relying on the PG_error bit for reporting writeback errors also set an error in the address space. The only place I've found that looks potentially problematic is this spot in nilfs2. Ensure that it sets an error in the mapping in addition to setting PageError. Signed-off-by: Jeff Layton --- fs/nilfs2/segment.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index bedcae2c28e6..c1041b07060e 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c @@ -1743,6 +1743,7 @@ static void nilfs_end_page_io(struct page *page, int err) } else { __set_page_dirty_nobuffers(page); SetPageError(page); + mapping_set_error(page_mapping(page), err); } end_page_writeback(page); -- 2.9.3