Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp10690592pxu; Wed, 30 Dec 2020 09:01:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJyYYV7Fyqnk2fDGTov7mf2dLQoiw9a88I/IamqsGKGHcNOdHTVz3nOdlnwyST1GpoHzRl0m X-Received: by 2002:a17:906:6d47:: with SMTP id a7mr51220567ejt.340.1609347682757; Wed, 30 Dec 2020 09:01:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609347682; cv=none; d=google.com; s=arc-20160816; b=Bpsotx9n72f4KHkgiQLIUaAO8TyUwTHirCgI7U2hNP1+HZ6XJO5gKbhs5cvKrx2H9Z P54JOHLAPClPyx14ujtOnJRUU+ghcvnjSPN9pTjeMZBc/D9FvA3hZQ3pHwztVc/boCHN HWgrWn3TfdCWaaiGKPwlf1fdmqG2LJE8iSMjnnpvN5Igz2W2fk4bjNXCbpuKPbIgnKmF LcNFgpmvH8PGzRk4GNeqeOH1+yVrlNQJpRUEKGAp4e+9wE619kZet/28niPOFxFh+YM+ UBJWMF9tCRckX6723cI3XhSVs2Pex3kxpzZTRrisVPUgbmTbao6xNevkNKmfrGVqOq56 gAaw== 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=qgJACX3liXRbptBfV2ZqqlGfbEot67ImsFRYUwyE4b0=; b=M/J44yUSjAUl4n7WGbSwuSGnr9M0hbl1cO8T73JgvxbnQWayindmQ/iDLlk4NjroLv HQ2SjgkHPVvxb6ln0NOmQysp2gnOL5yV4lmUfny5oOmj5xeqIhgIVZ4G3kWI7k3TFGmi 962mSi9QhsoKHBPR5l+nJzsrJP7yj0eEt/xXYgrsuvM3l0m61wg8slU7zmBzL4AEU1uK qXH1Q/Ln/t5SNdukChbYy8TVgMi8ZwcDciPDisj2XD/Mwo9ojVmXKbm2M5jwT/9ZdeP7 1AWa2jL1wUy/ce36foKL6HwxaoF3DmAkWz6XgKN0t1nBvjHOqAnC5+mKjGT53Ax+NpUR f37g== 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 u9si22569484edv.418.2020.12.30.09.01.00; Wed, 30 Dec 2020 09:01:22 -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 S1726735AbgL3Q7x (ORCPT + 99 others); Wed, 30 Dec 2020 11:59:53 -0500 Received: from mail.cn.fujitsu.com ([183.91.158.132]:10914 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726594AbgL3Q7w (ORCPT ); Wed, 30 Dec 2020 11:59:52 -0500 X-IronPort-AV: E=Sophos;i="5.78,461,1599494400"; d="scan'208";a="103085828" Received: from unknown (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 31 Dec 2020 00:58:39 +0800 Received: from G08CNEXMBPEKD04.g08.fujitsu.local (unknown [10.167.33.201]) by cn.fujitsu.com (Postfix) with ESMTP id 801344CE6020; Thu, 31 Dec 2020 00:58:36 +0800 (CST) Received: from G08CNEXCHPEKD04.g08.fujitsu.local (10.167.33.200) by G08CNEXMBPEKD04.g08.fujitsu.local (10.167.33.201) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 31 Dec 2020 00:58:36 +0800 Received: from irides.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; Thu, 31 Dec 2020 00:58:35 +0800 From: Shiyang Ruan To: , , , CC: , , , , , , , , , Subject: [PATCH 03/10] fs: Introduce ->corrupted_range() for superblock Date: Thu, 31 Dec 2020 00:55:54 +0800 Message-ID: <20201230165601.845024-4-ruansy.fnst@cn.fujitsu.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201230165601.845024-1-ruansy.fnst@cn.fujitsu.com> References: <20201230165601.845024-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: 801344CE6020.A8417 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 8667d0cdc71e..282e2139b23e 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1965,6 +1965,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.29.2