Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp10691658pxu; Wed, 30 Dec 2020 09:02:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJz89Yeg1UtG7vbYkcqC3bc0NvtUgL8wK6QlpboIBFEd7dYAmWQnt4JN55OwP3HyxUpT5vMp X-Received: by 2002:aa7:dc4b:: with SMTP id g11mr52555984edu.379.1609347755070; Wed, 30 Dec 2020 09:02:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609347755; cv=none; d=google.com; s=arc-20160816; b=QOzGfiD2Lk2Oewnki0Ior2s1ogiLx2piE3XC8udgLQvfQ2GO6malWDMNvZ8tEtzww+ nkexA+w2ktNF1vdWBlTtZQm3bjmiG+oHWCB78geIMDF8hRAhFIgilFNYG7/C40ZjEDvw DDQiap4+cf5nooUwv+YTRC+B4Gu/3NBFSk3eigne0LqBjRnCnojaFpvYrTyWovyjuxcX I6OK1BFym+zF6hVEl/bkJXSMW293aJf6YxAHUVMji7iilWONN5uta2FvaINalxPaG/Ix SmT35qNEmuGMT76EAz8QvN6hqZHCFYZyaoqG7y3FeHLPBTCCnYq8sWVhfDpefb1SJ7he Z43Q== 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=CADRg8bhfeFYyoDtv5Cyl5fQW8DGoyR9YFy2mKUDYDU=; b=eMebSmw+3PPSFtL7LoZ79bjtrlD7iZ3K4uLGlYoIyY80VxAAWqX5Mz0mxLJr1bonSl lrJ362XRcpOkIRMrl+zOE+5VqlSFK8lIqvYsu3dLVQNtmXDVzJ6JavFU4fXLhJc6K/Ym CnW2QkDaOjuy3N0IYsZqrLRtbmtPvQ4gky6lcjTAu63XF6ZhsQ5dhFQSvqtt+R6X1U/f xqyq/edkXFf08gTNLnxhQT9ZYoyXx5Penlxp61zpIXfF6N6u4g/YZ8OmHGMAwuZkLvt3 AEm8+t+z3Huled9fiPYE3p0dsAGia+HcIVjdg/xFCf2ldvb3kpyIDQ2TeU7BTrTe7ByN bByw== 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 b7si24205693edq.548.2020.12.30.09.02.12; Wed, 30 Dec 2020 09:02: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 S1726794AbgL3Q77 (ORCPT + 99 others); Wed, 30 Dec 2020 11:59:59 -0500 Received: from mail.cn.fujitsu.com ([183.91.158.132]:58640 "EHLO heian.cn.fujitsu.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726391AbgL3Q77 (ORCPT ); Wed, 30 Dec 2020 11:59:59 -0500 X-IronPort-AV: E=Sophos;i="5.78,461,1599494400"; d="scan'208";a="103085831" 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 363AD4CE601F; Thu, 31 Dec 2020 00:58: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; Thu, 31 Dec 2020 00:58:35 +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:34 +0800 From: Shiyang Ruan To: , , , CC: , , , , , , , , , Subject: [PATCH 02/10] blk: Introduce ->corrupted_range() for block device Date: Thu, 31 Dec 2020 00:55:53 +0800 Message-ID: <20201230165601.845024-3-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: 363AD4CE601F.AB0EC 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 033eb5f73b65..45256fe84fa7 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1858,6 +1858,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.29.2