Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1575252pxb; Thu, 28 Jan 2021 22:31:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJwrWc58uVVA656jyYtvsCLhSCUgVhLkUPcBtHAUgWMgx6RVn2Wyhj7FFk37V52OabSPJJkN X-Received: by 2002:a17:906:7f83:: with SMTP id f3mr3062975ejr.282.1611901896902; Thu, 28 Jan 2021 22:31:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611901896; cv=none; d=google.com; s=arc-20160816; b=QvqLwS9xaepKeTM3CrV8enePWmHrnb7MSP7rPmdIaztsShzjBrPSX99ucMYlRULqvD HUIQJ5ANkPBtZXV8nQK6FBTdJgzVrGR066sq5SCIhhO3YewZ0aX80Cygm05bWK4s3PBU o9dGRNx8DObE3zwveI8VwuZM8ziopzLqfbfi4bViB2WP3VK+8ztMCYpd89ZbddQFJmBn md4r5yX+29SaZ6thUHFzL5xYs3gVDXIPknu48Uyqw7JMUyigjwXkAOnwqtIJniRFrNot xWFoZSkDjTt00u9384ApYP4W4g+DqzltA/F5GpbOzO8BZeMC1/+n5cA5MSmu2WptkgTA HE8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=Ar9BLgT83OObFy5aFMlDC8SUwCxqlvMNyJ7ZU0ZAqvA=; b=rW5uUMesdEQhgOYRU38bGo0CwijV27v3sqOVsCJKm3XStDkYPu5POwG8/cRYdTUocL U3hh+iTgaWa9OxHk6z14OWIng56ONnhVxgArnGtIsuDTq6/o50MLhCUpqjhDicCCZA/0 1JMFyC8b4cFSPO8l17ua90c3h+oOmS50g9KqDonIeBtY+ERqJuCxgxpbrPkGdPDFBDF9 svhR+mjiymMSlHJLgDijJewi0vpSQtAAbFjYljlObDF8FcVTVrs6fTAIVXtu+d1mELem /pb9+9UQm6h3SLkrwO6eqslOd3Hzxk9JFggeZNrerXsNgMkW7vk3lAxCK3KyevN832K/ JE8w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m19si5273161edd.202.2021.01.28.22.31.12; Thu, 28 Jan 2021 22:31:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232164AbhA2G3Q (ORCPT + 99 others); Fri, 29 Jan 2021 01:29:16 -0500 Received: from mail.cn.fujitsu.com ([183.91.158.132]:32276 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232069AbhA2G3M (ORCPT ); Fri, 29 Jan 2021 01:29:12 -0500 X-IronPort-AV: E=Sophos;i="5.79,384,1602518400"; d="scan'208";a="103973621" Received: from unknown (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 29 Jan 2021 14:28:05 +0800 Received: from G08CNEXMBPEKD05.g08.fujitsu.local (unknown [10.167.33.204]) by cn.fujitsu.com (Postfix) with ESMTP id 9722048990D2; Fri, 29 Jan 2021 14:28:05 +0800 (CST) Received: from G08CNEXCHPEKD04.g08.fujitsu.local (10.167.33.200) by G08CNEXMBPEKD05.g08.fujitsu.local (10.167.33.204) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 29 Jan 2021 14:28:05 +0800 Received: from irides.mr.mr.mr (10.167.225.141) by G08CNEXCHPEKD04.g08.fujitsu.local (10.167.33.209) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 29 Jan 2021 14:28:05 +0800 From: Shiyang Ruan To: , , , , , CC: , , , , , , , , Subject: [PATCH RESEND v2 03/10] fs: Introduce ->corrupted_range() for superblock Date: Fri, 29 Jan 2021 14:27:50 +0800 Message-ID: <20210129062757.1594130-4-ruansy.fnst@cn.fujitsu.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210129062757.1594130-1-ruansy.fnst@cn.fujitsu.com> References: <20210129062757.1594130-1-ruansy.fnst@cn.fujitsu.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-yoursite-MailScanner-ID: 9722048990D2.A9CCB X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: ruansy.fnst@cn.fujitsu.com X-Spam-Status: No Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Memory failure occurs in fsdax mode will finally be handled in filesystem. We introduce this interface to find out files or metadata affected by the corrupted range, and try to recover the corrupted data if possiable. Signed-off-by: Shiyang Ruan --- include/linux/fs.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index fd47deea7c17..4cc9ff9caa87 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1963,6 +1963,8 @@ struct super_operations { struct shrink_control *); long (*free_cached_objects)(struct super_block *, struct shrink_control *); + int (*corrupted_range)(struct super_block *sb, struct block_device *bdev, + loff_t offset, size_t len, void *data); }; /* -- 2.30.0