Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3389804pxb; Mon, 25 Jan 2021 15:03:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJwQ0i3KAJIRfYsfFx4C0R+UTOSUAxCcz4rUZXqKY3hpfakFYfaut/MeMA9Ks+XbGkRfSe5G X-Received: by 2002:a50:fc04:: with SMTP id i4mr2365948edr.137.1611615831354; Mon, 25 Jan 2021 15:03:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611615831; cv=none; d=google.com; s=arc-20160816; b=YIhfd+aCO/Ao61OcbGkXX4jbcsa5fK1oUHdTsGaDv8svKOqOQ6U58BAITOX1b1UVne PiS0oauG4dyuBn8Joz8IuGj0anfWHFKnOBnTb4H3YbuEbifolsSwow0lDuG28bsOBMEB 3XQm2OxR+MK4Y01e7iKzF721fhf8L8w6o0VJn45Ex2IUtVWfsI7OTI13+jPBGvU2i51s rRr8hc3wVTB9nBv/DIumU1xs30wNGGqVtbDQVFzrjdg/DHKTKzgZPqzsSE9jhWMyNHlt E2ShhvuNTVZfN0gUFKxr2pTiIk0z/urhdTleHJ7KOGHcKSno/Pyl1bziDm/y9mUXPl9B dbUA== 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=FlmEaV2poTsKycJ5cZ9KR+G14qJbErDaqmbHVVN+5tOU3Ba3J5ceh4aVVS71BD+X1t ka+2PLY6UGGbDQbpxiOiAlYVgJJceuRQp5WXKcE7Jj9k6BecSzSGJHmCYQiO5RWDsZxk bJ4pmUE6PAJVrJpiJlSNlMZ69I0ZYO3HgqZ9DE1nuTGEq0jL+8VsEeyvXB2qsc485FGK xJWXiatZWs6sCnQFS78MQBlA+Yf7GE+/bKQaEGlG2ixvshZstwKeY8EwdbjAWEN/FF/K 2ti48ngAlZXAaDy5rtYF5qk/ND8V7P5FpxLuNaWqGZqRCUo3j+3tLkERvY4lsXlyYIyj D9rg== 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 k2si6696669edx.44.2021.01.25.15.03.26; Mon, 25 Jan 2021 15:03:51 -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 S1732769AbhAYXCT (ORCPT + 99 others); Mon, 25 Jan 2021 18:02:19 -0500 Received: from mail.cn.fujitsu.com ([183.91.158.132]:13702 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732127AbhAYW5a (ORCPT ); Mon, 25 Jan 2021 17:57:30 -0500 X-IronPort-AV: E=Sophos;i="5.79,374,1602518400"; d="scan'208";a="103820576" Received: from unknown (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 26 Jan 2021 06:55:38 +0800 Received: from G08CNEXMBPEKD04.g08.fujitsu.local (unknown [10.167.33.201]) by cn.fujitsu.com (Postfix) with ESMTP id 32B4748990D2; Tue, 26 Jan 2021 06:55:34 +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; Tue, 26 Jan 2021 06:55:32 +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; Tue, 26 Jan 2021 06:55:32 +0800 From: Shiyang Ruan To: , , , CC: , , , , , , , , , Subject: [PATCH v2 03/10] fs: Introduce ->corrupted_range() for superblock Date: Tue, 26 Jan 2021 06:55:19 +0800 Message-ID: <20210125225526.1048877-4-ruansy.fnst@cn.fujitsu.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210125225526.1048877-1-ruansy.fnst@cn.fujitsu.com> References: <20210125225526.1048877-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: 32B4748990D2.A8752 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