Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3907803pxb; Mon, 8 Feb 2021 03:15:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJzk7+1KfY9XJL0fiA22FzoO2Iurdtb0rRIRuIJrTIW4UnGZ2MaQ7lA9X8RgXZ8lGI5M/C1u X-Received: by 2002:a17:906:2898:: with SMTP id o24mr16174752ejd.215.1612782935539; Mon, 08 Feb 2021 03:15:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1612782935; cv=none; d=google.com; s=arc-20160816; b=Hhu6B1+FQdyMm+rbbp231eFQwSAKUHHHLmy8+2q1o30y7jAwqAJ9dL+lJbbdg1t1yM QKJd2yuiO14cZEeUpeHVnQiSP1+Tj0yCDDLlhsJrUJxkRjpr/b5L21mjdpJWHot9bLze 9dK+g8dDkzSzrDa9O+6px7E4SLcFZU/dEIab1NaYma01iOyS7MxJpIN/euTfzHBI80AD 56rMt2KnkQGAU7DdyRMDRXEwpxZZ3KyWx1oTF+jRXX9nveIj/DM1xcQx/XgqoUArOmcA o8exBVoalUtizsPPE47MnFdFaPsveiqf/tYBwHoyl/Y668xSLAPsPdbuaDzWDvME3rB2 PrmQ== 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=HkFVh4AJpeuhb0mYlbcDmtGY2jp9QvvcbT+1rsWnMWU=; b=odl6ifXyQuQ3jEcgK7lE9DssCihBeXYBVsgcFVQp6N6vvl20qdzYGj+VwifNl3nmXp xhWCUNlUZcBLQlM/Ma1WUhYRF1d8YZ26Cd/VnNkaRaMMirNPco8iB70cZe08sUJFQk+Z nGirGr08fC4Yh78d/DdFFO6ydAnGev8qi1cUaZmLw1eAT/h04lodZe0fYmdrX8AJj2pt W75WhNESvzGdgqShOn42hXOJLDnQAg5GSLfq0XYtXrAZnSJl7Cz2Vor4+sQxmJkeKNeg WZC68o1W1iG4XHQ9UJsxXyc4R4d85Xdo5GKXPqmq/mimkLwCF55vQj5VhquopXsY4V/8 fWpg== 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 dp16si12028483ejc.49.2021.02.08.03.15.11; Mon, 08 Feb 2021 03:15:35 -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 S233127AbhBHLNI (ORCPT + 99 others); Mon, 8 Feb 2021 06:13:08 -0500 Received: from mail.cn.fujitsu.com ([183.91.158.132]:61902 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S233050AbhBHLEZ (ORCPT ); Mon, 8 Feb 2021 06:04:25 -0500 X-IronPort-AV: E=Sophos;i="5.81,161,1610380800"; d="scan'208";a="104328065" Received: from unknown (HELO cn.fujitsu.com) ([10.167.33.5]) by heian.cn.fujitsu.com with ESMTP; 08 Feb 2021 18:55:40 +0800 Received: from G08CNEXMBPEKD04.g08.fujitsu.local (unknown [10.167.33.201]) by cn.fujitsu.com (Postfix) with ESMTP id 0EE534CE6F80; Mon, 8 Feb 2021 18:55:35 +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; Mon, 8 Feb 2021 18:55:37 +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; Mon, 8 Feb 2021 18:55:36 +0800 From: Shiyang Ruan To: , , , , , CC: , , , , , , , , Subject: [PATCH v3 02/11] blk: Introduce ->corrupted_range() for block device Date: Mon, 8 Feb 2021 18:55:21 +0800 Message-ID: <20210208105530.3072869-3-ruansy.fnst@cn.fujitsu.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210208105530.3072869-1-ruansy.fnst@cn.fujitsu.com> References: <20210208105530.3072869-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: 0EE534CE6F80.A1671 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 In fsdax mode, the memory failure happens on block device. So, it is needed to introduce an interface for block devices. Each kind of block device can handle the memory failure in ther own ways. Signed-off-by: Shiyang Ruan --- include/linux/blkdev.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index f94ee3089e01..e0f5585aa06f 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1867,6 +1867,8 @@ struct block_device_operations { int (*report_zones)(struct gendisk *, sector_t sector, unsigned int nr_zones, report_zones_cb cb, void *data); char *(*devnode)(struct gendisk *disk, umode_t *mode); + int (*corrupted_range)(struct gendisk *disk, struct block_device *bdev, + loff_t offset, size_t len, void *data); struct module *owner; const struct pr_ops *pr_ops; }; -- 2.30.0