From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3385F7A for ; Fri, 15 Apr 2022 04:54:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=CzPLS+Gjxb/zoXdxVG3wb1X+zPEYuY3a71fFFzUQsIo=; b=PxTC6KnciQw0TSk9vI+K+AMZhB u9e+Rsg6/gEELi9/+U/v63dpyvw0hUtfHyPU16IZS1Eodmr5X+cu2FRmZWSzJpe+KZhaB8WPX73iy c6TK87vBkvMsokVjnVkLP6p7ua2/nu4iRHseV7k8Otwf/q7lwy6z7apWU+n+IP1iUvyEzbauM7lCp dkSj+aQUOppSdadfxst8W0LcrS+Mm/D+yrRNvKalP/J5Dfogq3zfiOEumpJYUHKnW8QvLxDGWbnNa GemfPfulsMzUnykcCOMbb7hTYIQIE4W/va/oe9dQyCoWo0AOAT691zcccidiP4Ae970vBl8VgjIPB +dTJ1dFw==; Received: from [2a02:1205:504b:4280:f5dd:42a4:896c:d877] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nfDyG-008PgP-Ki; Fri, 15 Apr 2022 04:54:13 +0000 From: Christoph Hellwig To: Jens Axboe Cc: dm-devel@redhat.com, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-um@lists.infradead.org, linux-block@vger.kernel.org, drbd-dev@lists.linbit.com, nbd@other.debian.org, ceph-devel@vger.kernel.org, virtualization@lists.linux-foundation.org, xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, linux-raid@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-nvme@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, jfs-discussion@lists.sourceforge.net, linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, ocfs2-devel@oss.oracle.com, linux-mm@kvack.org, "Martin K . Petersen" , =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , Coly Li , David Sterba Subject: [PATCH 23/27] block: add a bdev_max_discard_sectors helper Date: Fri, 15 Apr 2022 06:52:54 +0200 Message-Id: <20220415045258.199825-24-hch@lst.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220415045258.199825-1-hch@lst.de> References: <20220415045258.199825-1-hch@lst.de> Precedence: bulk X-Mailing-List: ntfs3@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Add a helper to query the number of sectors support per each discard bio based on the block device and use this helper to stop various places from poking into the request_queue to see if discard is supported and if so how much. This mirrors what is done e.g. for write zeroes as well. Signed-off-by: Christoph Hellwig Reviewed-by: Martin K. Petersen Acked-by: Christoph Böhmwalder [drbd] Acked-by: Coly Li [bcache] Acked-by: David Sterba [btrfs] --- drivers/block/drbd/drbd_nl.c | 8 +++++--- drivers/block/drbd/drbd_receiver.c | 2 +- drivers/block/rnbd/rnbd-srv-dev.h | 3 +-- drivers/md/dm-io.c | 2 +- drivers/target/target_core_device.c | 7 +++---- fs/f2fs/segment.c | 6 ++---- include/linux/blkdev.h | 5 +++++ 7 files changed, 18 insertions(+), 15 deletions(-) diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c index 4d00986d6f588..a0a06e238e917 100644 --- a/drivers/block/drbd/drbd_nl.c +++ b/drivers/block/drbd/drbd_nl.c @@ -1439,7 +1439,8 @@ static bool write_ordering_changed(struct disk_conf *a, struct disk_conf *b) static void sanitize_disk_conf(struct drbd_device *device, struct disk_conf *disk_conf, struct drbd_backing_dev *nbc) { - struct request_queue * const q = nbc->backing_bdev->bd_disk->queue; + struct block_device *bdev = nbc->backing_bdev; + struct request_queue *q = bdev->bd_disk->queue; if (disk_conf->al_extents < DRBD_AL_EXTENTS_MIN) disk_conf->al_extents = DRBD_AL_EXTENTS_MIN; @@ -1455,6 +1456,7 @@ static void sanitize_disk_conf(struct drbd_device *device, struct disk_conf *dis if (disk_conf->rs_discard_granularity) { int orig_value = disk_conf->rs_discard_granularity; + sector_t discard_size = bdev_max_discard_sectors(bdev) << 9; int remainder; if (q->limits.discard_granularity > disk_conf->rs_discard_granularity) @@ -1463,8 +1465,8 @@ static void sanitize_disk_conf(struct drbd_device *device, struct disk_conf *dis remainder = disk_conf->rs_discard_granularity % q->limits.discard_granularity; disk_conf->rs_discard_granularity += remainder; - if (disk_conf->rs_discard_granularity > q->limits.max_discard_sectors << 9) - disk_conf->rs_discard_granularity = q->limits.max_discard_sectors << 9; + if (disk_conf->rs_discard_granularity > discard_size) + disk_conf->rs_discard_granularity = discard_size; if (disk_conf->rs_discard_granularity != orig_value) drbd_info(device, "rs_discard_granularity changed to %d\n", diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index 08da922f81d1d..0b4c7de463989 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c @@ -1524,7 +1524,7 @@ int drbd_issue_discard_or_zero_out(struct drbd_device *device, sector_t start, u granularity = max(q->limits.discard_granularity >> 9, 1U); alignment = (bdev_discard_alignment(bdev) >> 9) % granularity; - max_discard_sectors = min(q->limits.max_discard_sectors, (1U << 22)); + max_discard_sectors = min(bdev_max_discard_sectors(bdev), (1U << 22)); max_discard_sectors -= max_discard_sectors % granularity; if (unlikely(!max_discard_sectors)) goto zero_out; diff --git a/drivers/block/rnbd/rnbd-srv-dev.h b/drivers/block/rnbd/rnbd-srv-dev.h index 2c3df02b5e8ec..f82fbb4bbda8e 100644 --- a/drivers/block/rnbd/rnbd-srv-dev.h +++ b/drivers/block/rnbd/rnbd-srv-dev.h @@ -52,8 +52,7 @@ static inline int rnbd_dev_get_max_discard_sects(const struct rnbd_dev *dev) if (!blk_queue_discard(bdev_get_queue(dev->bdev))) return 0; - return blk_queue_get_max_sectors(bdev_get_queue(dev->bdev), - REQ_OP_DISCARD); + return bdev_max_discard_sectors(dev->bdev); } static inline int rnbd_dev_get_discard_granularity(const struct rnbd_dev *dev) diff --git a/drivers/md/dm-io.c b/drivers/md/dm-io.c index 5762366333a27..e4b95eaeec8c7 100644 --- a/drivers/md/dm-io.c +++ b/drivers/md/dm-io.c @@ -311,7 +311,7 @@ static void do_region(int op, int op_flags, unsigned region, * Reject unsupported discard and write same requests. */ if (op == REQ_OP_DISCARD) - special_cmd_max_sectors = q->limits.max_discard_sectors; + special_cmd_max_sectors = bdev_max_discard_sectors(where->bdev); else if (op == REQ_OP_WRITE_ZEROES) special_cmd_max_sectors = q->limits.max_write_zeroes_sectors; if ((op == REQ_OP_DISCARD || op == REQ_OP_WRITE_ZEROES) && diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c index 16e775bcf4a7c..c3e25bac90d59 100644 --- a/drivers/target/target_core_device.c +++ b/drivers/target/target_core_device.c @@ -829,9 +829,8 @@ struct se_device *target_alloc_device(struct se_hba *hba, const char *name) } /* - * Check if the underlying struct block_device request_queue supports - * the QUEUE_FLAG_DISCARD bit for UNMAP/WRITE_SAME in SCSI + TRIM - * in ATA and we need to set TPE=1 + * Check if the underlying struct block_device supports discard and if yes + * configure the UNMAP parameters. */ bool target_configure_unmap_from_queue(struct se_dev_attrib *attrib, struct block_device *bdev) @@ -843,7 +842,7 @@ bool target_configure_unmap_from_queue(struct se_dev_attrib *attrib, return false; attrib->max_unmap_lba_count = - q->limits.max_discard_sectors >> (ilog2(block_size) - 9); + bdev_max_discard_sectors(bdev) >> (ilog2(block_size) - 9); /* * Currently hardcoded to 1 in Linux/SCSI code.. */ diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 22dfeb9915290..71f09adbcba86 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -1196,9 +1196,8 @@ static int __submit_discard_cmd(struct f2fs_sb_info *sbi, unsigned int *issued) { struct block_device *bdev = dc->bdev; - struct request_queue *q = bdev_get_queue(bdev); unsigned int max_discard_blocks = - SECTOR_TO_BLOCK(q->limits.max_discard_sectors); + SECTOR_TO_BLOCK(bdev_max_discard_sectors(bdev)); struct discard_cmd_control *dcc = SM_I(sbi)->dcc_info; struct list_head *wait_list = (dpolicy->type == DPOLICY_FSTRIM) ? &(dcc->fstrim_list) : &(dcc->wait_list); @@ -1375,9 +1374,8 @@ static void __update_discard_tree_range(struct f2fs_sb_info *sbi, struct discard_cmd *dc; struct discard_info di = {0}; struct rb_node **insert_p = NULL, *insert_parent = NULL; - struct request_queue *q = bdev_get_queue(bdev); unsigned int max_discard_blocks = - SECTOR_TO_BLOCK(q->limits.max_discard_sectors); + SECTOR_TO_BLOCK(bdev_max_discard_sectors(bdev)); block_t end = lstart + len; dc = (struct discard_cmd *)f2fs_lookup_rb_tree_ret(&dcc->root, diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 34b1cfd067421..ce16247d3afab 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1254,6 +1254,11 @@ bdev_zone_write_granularity(struct block_device *bdev) int bdev_alignment_offset(struct block_device *bdev); unsigned int bdev_discard_alignment(struct block_device *bdev); +static inline unsigned int bdev_max_discard_sectors(struct block_device *bdev) +{ + return bdev_get_queue(bdev)->limits.max_discard_sectors; +} + static inline unsigned int bdev_write_zeroes_sectors(struct block_device *bdev) { struct request_queue *q = bdev_get_queue(bdev); -- 2.30.2 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9FE70C35296 for ; Fri, 15 Apr 2022 04:54:34 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-2.v29.lw.sourceforge.com) by sfs-ml-2.v29.lw.sourceforge.com with esmtp (Exim 4.94.2) (envelope-from ) id 1nfDya-0002xZ-To; Fri, 15 Apr 2022 04:54:33 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-2.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nfDyY-0002uf-DJ; Fri, 15 Apr 2022 04:54:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:Content-Type:MIME-Version :References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=CzPLS+Gjxb/zoXdxVG3wb1X+zPEYuY3a71fFFzUQsIo=; b=VzVAOHDZi78IRPrWCrnw6g+Ems FJx8ldUPkPDlVnxYGfLF6KrynNkl8q/MGuLj84WapkKdXg2CBnNdmzSvzOl5TGIbax6nfimFVhETK O6hV5bL0B+/QqAHGmunBxOLgbnFPhNpFzbzxOD/OfRBMVG6X7iqSkxknQJvZU2kpU6OI=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=CzPLS+Gjxb/zoXdxVG3wb1X+zPEYuY3a71fFFzUQsIo=; b=kSwqYiT/AQs88V3wvxEZnlas+h EdRxrISVF4XLH0WAXvJdEvFJUfMJZr99XBxbzgfsBAxjDVmbIiQy1woAUCguX4G6HIUmmZDvsKpkz a17IaIoYNKXF70eyQeX3pW0H9/8jI9Ooci0yaGOSElOVNMwpBdmm6o4eNmr3cKQQ9K2c=; Received: from bombadil.infradead.org ([198.137.202.133]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.94.2) id 1nfDyY-00086u-KJ; Fri, 15 Apr 2022 04:54:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=CzPLS+Gjxb/zoXdxVG3wb1X+zPEYuY3a71fFFzUQsIo=; b=PxTC6KnciQw0TSk9vI+K+AMZhB u9e+Rsg6/gEELi9/+U/v63dpyvw0hUtfHyPU16IZS1Eodmr5X+cu2FRmZWSzJpe+KZhaB8WPX73iy c6TK87vBkvMsokVjnVkLP6p7ua2/nu4iRHseV7k8Otwf/q7lwy6z7apWU+n+IP1iUvyEzbauM7lCp dkSj+aQUOppSdadfxst8W0LcrS+Mm/D+yrRNvKalP/J5Dfogq3zfiOEumpJYUHKnW8QvLxDGWbnNa GemfPfulsMzUnykcCOMbb7hTYIQIE4W/va/oe9dQyCoWo0AOAT691zcccidiP4Ae970vBl8VgjIPB +dTJ1dFw==; Received: from [2a02:1205:504b:4280:f5dd:42a4:896c:d877] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nfDyG-008PgP-Ki; Fri, 15 Apr 2022 04:54:13 +0000 From: Christoph Hellwig To: Jens Axboe Date: Fri, 15 Apr 2022 06:52:54 +0200 Message-Id: <20220415045258.199825-24-hch@lst.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220415045258.199825-1-hch@lst.de> References: <20220415045258.199825-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Headers-End: 1nfDyY-00086u-KJ Subject: [f2fs-dev] [PATCH 23/27] block: add a bdev_max_discard_sectors helper X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jfs-discussion@lists.sourceforge.net, linux-nvme@lists.infradead.org, virtualization@lists.linux-foundation.org, linux-mm@kvack.org, dm-devel@redhat.com, target-devel@vger.kernel.org, linux-mtd@lists.infradead.org, drbd-dev@lists.linbit.com, linux-s390@vger.kernel.org, linux-nilfs@vger.kernel.org, linux-scsi@vger.kernel.org, cluster-devel@redhat.com, xen-devel@lists.xenproject.org, linux-ext4@vger.kernel.org, linux-um@lists.infradead.org, nbd@other.debian.org, linux-block@vger.kernel.org, linux-bcache@vger.kernel.org, David Sterba , ceph-devel@vger.kernel.org, Coly Li , linux-raid@vger.kernel.org, "Martin K . Petersen" , linux-mmc@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-xfs@vger.kernel.org, =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , ocfs2-devel@oss.oracle.com, linux-fsdevel@vger.kernel.org, ntfs3@lists.linux.dev, linux-btrfs@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net QWRkIGEgaGVscGVyIHRvIHF1ZXJ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBzdXBwb3J0IHBlciBl YWNoIGRpc2NhcmQgYmlvCmJhc2VkIG9uIHRoZSBibG9jayBkZXZpY2UgYW5kIHVzZSB0aGlzIGhl bHBlciB0byBzdG9wIHZhcmlvdXMgcGxhY2VzIGZyb20KcG9raW5nIGludG8gdGhlIHJlcXVlc3Rf cXVldWUgdG8gc2VlIGlmIGRpc2NhcmQgaXMgc3VwcG9ydGVkIGFuZCBpZiBzbyBob3cKbXVjaC4g IFRoaXMgbWlycm9ycyB3aGF0IGlzIGRvbmUgZS5nLiBmb3Igd3JpdGUgemVyb2VzIGFzIHdlbGwu CgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KUmV2aWV3ZWQt Ynk6IE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+CkFja2Vk LWJ5OiBDaHJpc3RvcGggQsO2aG13YWxkZXIgPGNocmlzdG9waC5ib2VobXdhbGRlckBsaW5iaXQu Y29tPiBbZHJiZF0KQWNrZWQtYnk6IENvbHkgTGkgPGNvbHlsaUBzdXNlLmRlPiBbYmNhY2hlXQpB Y2tlZC1ieTogRGF2aWQgU3RlcmJhIDxkc3RlcmJhQHN1c2UuY29tPiBbYnRyZnNdCi0tLQogZHJp dmVycy9ibG9jay9kcmJkL2RyYmRfbmwuYyAgICAgICAgfCA4ICsrKysrLS0tCiBkcml2ZXJzL2Js b2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jICB8IDIgKy0KIGRyaXZlcnMvYmxvY2svcm5iZC9ybmJk LXNydi1kZXYuaCAgIHwgMyArLS0KIGRyaXZlcnMvbWQvZG0taW8uYyAgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMgfCA3ICsrKy0tLS0K IGZzL2YyZnMvc2VnbWVudC5jICAgICAgICAgICAgICAgICAgIHwgNiArKy0tLS0KIGluY2x1ZGUv bGludXgvYmxrZGV2LmggICAgICAgICAgICAgIHwgNSArKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAx OCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Js b2NrL2RyYmQvZHJiZF9ubC5jIGIvZHJpdmVycy9ibG9jay9kcmJkL2RyYmRfbmwuYwppbmRleCA0 ZDAwOTg2ZDZmNTg4Li5hMGEwNmUyMzhlOTE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2Ry YmQvZHJiZF9ubC5jCisrKyBiL2RyaXZlcnMvYmxvY2svZHJiZC9kcmJkX25sLmMKQEAgLTE0Mzks NyArMTQzOSw4IEBAIHN0YXRpYyBib29sIHdyaXRlX29yZGVyaW5nX2NoYW5nZWQoc3RydWN0IGRp c2tfY29uZiAqYSwgc3RydWN0IGRpc2tfY29uZiAqYikKIHN0YXRpYyB2b2lkIHNhbml0aXplX2Rp c2tfY29uZihzdHJ1Y3QgZHJiZF9kZXZpY2UgKmRldmljZSwgc3RydWN0IGRpc2tfY29uZiAqZGlz a19jb25mLAogCQkJICAgICAgIHN0cnVjdCBkcmJkX2JhY2tpbmdfZGV2ICpuYmMpCiB7Ci0Jc3Ry dWN0IHJlcXVlc3RfcXVldWUgKiBjb25zdCBxID0gbmJjLT5iYWNraW5nX2JkZXYtPmJkX2Rpc2st PnF1ZXVlOworCXN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYgPSBuYmMtPmJhY2tpbmdfYmRldjsK KwlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXYtPmJkX2Rpc2stPnF1ZXVlOwogCiAJaWYg KGRpc2tfY29uZi0+YWxfZXh0ZW50cyA8IERSQkRfQUxfRVhURU5UU19NSU4pCiAJCWRpc2tfY29u Zi0+YWxfZXh0ZW50cyA9IERSQkRfQUxfRVhURU5UU19NSU47CkBAIC0xNDU1LDYgKzE0NTYsNyBA QCBzdGF0aWMgdm9pZCBzYW5pdGl6ZV9kaXNrX2NvbmYoc3RydWN0IGRyYmRfZGV2aWNlICpkZXZp Y2UsIHN0cnVjdCBkaXNrX2NvbmYgKmRpcwogCiAJaWYgKGRpc2tfY29uZi0+cnNfZGlzY2FyZF9n cmFudWxhcml0eSkgewogCQlpbnQgb3JpZ192YWx1ZSA9IGRpc2tfY29uZi0+cnNfZGlzY2FyZF9n cmFudWxhcml0eTsKKwkJc2VjdG9yX3QgZGlzY2FyZF9zaXplID0gYmRldl9tYXhfZGlzY2FyZF9z ZWN0b3JzKGJkZXYpIDw8IDk7CiAJCWludCByZW1haW5kZXI7CiAKIAkJaWYgKHEtPmxpbWl0cy5k aXNjYXJkX2dyYW51bGFyaXR5ID4gZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5KQpA QCAtMTQ2Myw4ICsxNDY1LDggQEAgc3RhdGljIHZvaWQgc2FuaXRpemVfZGlza19jb25mKHN0cnVj dCBkcmJkX2RldmljZSAqZGV2aWNlLCBzdHJ1Y3QgZGlza19jb25mICpkaXMKIAkJcmVtYWluZGVy ID0gZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ICUgcS0+bGltaXRzLmRpc2NhcmRf Z3JhbnVsYXJpdHk7CiAJCWRpc2tfY29uZi0+cnNfZGlzY2FyZF9ncmFudWxhcml0eSArPSByZW1h aW5kZXI7CiAKLQkJaWYgKGRpc2tfY29uZi0+cnNfZGlzY2FyZF9ncmFudWxhcml0eSA+IHEtPmxp bWl0cy5tYXhfZGlzY2FyZF9zZWN0b3JzIDw8IDkpCi0JCQlkaXNrX2NvbmYtPnJzX2Rpc2NhcmRf Z3JhbnVsYXJpdHkgPSBxLT5saW1pdHMubWF4X2Rpc2NhcmRfc2VjdG9ycyA8PCA5OworCQlpZiAo ZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ID4gZGlzY2FyZF9zaXplKQorCQkJZGlz a19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ID0gZGlzY2FyZF9zaXplOwogCiAJCWlmIChk aXNrX2NvbmYtPnJzX2Rpc2NhcmRfZ3JhbnVsYXJpdHkgIT0gb3JpZ192YWx1ZSkKIAkJCWRyYmRf aW5mbyhkZXZpY2UsICJyc19kaXNjYXJkX2dyYW51bGFyaXR5IGNoYW5nZWQgdG8gJWRcbiIsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jIGIvZHJpdmVycy9i bG9jay9kcmJkL2RyYmRfcmVjZWl2ZXIuYwppbmRleCAwOGRhOTIyZjgxZDFkLi4wYjRjN2RlNDYz OTg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jCisrKyBi L2RyaXZlcnMvYmxvY2svZHJiZC9kcmJkX3JlY2VpdmVyLmMKQEAgLTE1MjQsNyArMTUyNCw3IEBA IGludCBkcmJkX2lzc3VlX2Rpc2NhcmRfb3JfemVyb19vdXQoc3RydWN0IGRyYmRfZGV2aWNlICpk ZXZpY2UsIHNlY3Rvcl90IHN0YXJ0LCB1CiAJZ3JhbnVsYXJpdHkgPSBtYXgocS0+bGltaXRzLmRp c2NhcmRfZ3JhbnVsYXJpdHkgPj4gOSwgMVUpOwogCWFsaWdubWVudCA9IChiZGV2X2Rpc2NhcmRf YWxpZ25tZW50KGJkZXYpID4+IDkpICUgZ3JhbnVsYXJpdHk7CiAKLQltYXhfZGlzY2FyZF9zZWN0 b3JzID0gbWluKHEtPmxpbWl0cy5tYXhfZGlzY2FyZF9zZWN0b3JzLCAoMVUgPDwgMjIpKTsKKwlt YXhfZGlzY2FyZF9zZWN0b3JzID0gbWluKGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSwg KDFVIDw8IDIyKSk7CiAJbWF4X2Rpc2NhcmRfc2VjdG9ycyAtPSBtYXhfZGlzY2FyZF9zZWN0b3Jz ICUgZ3JhbnVsYXJpdHk7CiAJaWYgKHVubGlrZWx5KCFtYXhfZGlzY2FyZF9zZWN0b3JzKSkKIAkJ Z290byB6ZXJvX291dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcm5iZC9ybmJkLXNydi1k ZXYuaCBiL2RyaXZlcnMvYmxvY2svcm5iZC9ybmJkLXNydi1kZXYuaAppbmRleCAyYzNkZjAyYjVl OGVjLi5mODJmYmI0YmJkYThlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3JuYmQvcm5iZC1z cnYtZGV2LmgKKysrIGIvZHJpdmVycy9ibG9jay9ybmJkL3JuYmQtc3J2LWRldi5oCkBAIC01Miw4 ICs1Miw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHJuYmRfZGV2X2dldF9tYXhfZGlzY2FyZF9zZWN0 cyhjb25zdCBzdHJ1Y3Qgcm5iZF9kZXYgKmRldikKIAlpZiAoIWJsa19xdWV1ZV9kaXNjYXJkKGJk ZXZfZ2V0X3F1ZXVlKGRldi0+YmRldikpKQogCQlyZXR1cm4gMDsKIAotCXJldHVybiBibGtfcXVl dWVfZ2V0X21heF9zZWN0b3JzKGJkZXZfZ2V0X3F1ZXVlKGRldi0+YmRldiksCi0JCQkJCSBSRVFf T1BfRElTQ0FSRCk7CisJcmV0dXJuIGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhkZXYtPmJkZXYp OwogfQogCiBzdGF0aWMgaW5saW5lIGludCBybmJkX2Rldl9nZXRfZGlzY2FyZF9ncmFudWxhcml0 eShjb25zdCBzdHJ1Y3Qgcm5iZF9kZXYgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvZG0t aW8uYyBiL2RyaXZlcnMvbWQvZG0taW8uYwppbmRleCA1NzYyMzY2MzMzYTI3Li5lNGI5NWVhZWVj OGM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL2RtLWlvLmMKKysrIGIvZHJpdmVycy9tZC9kbS1p by5jCkBAIC0zMTEsNyArMzExLDcgQEAgc3RhdGljIHZvaWQgZG9fcmVnaW9uKGludCBvcCwgaW50 IG9wX2ZsYWdzLCB1bnNpZ25lZCByZWdpb24sCiAJICogUmVqZWN0IHVuc3VwcG9ydGVkIGRpc2Nh cmQgYW5kIHdyaXRlIHNhbWUgcmVxdWVzdHMuCiAJICovCiAJaWYgKG9wID09IFJFUV9PUF9ESVND QVJEKQotCQlzcGVjaWFsX2NtZF9tYXhfc2VjdG9ycyA9IHEtPmxpbWl0cy5tYXhfZGlzY2FyZF9z ZWN0b3JzOworCQlzcGVjaWFsX2NtZF9tYXhfc2VjdG9ycyA9IGJkZXZfbWF4X2Rpc2NhcmRfc2Vj dG9ycyh3aGVyZS0+YmRldik7CiAJZWxzZSBpZiAob3AgPT0gUkVRX09QX1dSSVRFX1pFUk9FUykK IAkJc3BlY2lhbF9jbWRfbWF4X3NlY3RvcnMgPSBxLT5saW1pdHMubWF4X3dyaXRlX3plcm9lc19z ZWN0b3JzOwogCWlmICgob3AgPT0gUkVRX09QX0RJU0NBUkQgfHwgb3AgPT0gUkVRX09QX1dSSVRF X1pFUk9FUykgJiYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGFyZ2V0L3RhcmdldF9jb3JlX2Rldmlj ZS5jIGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMKaW5kZXggMTZlNzc1YmNm NGE3Yy4uYzNlMjViYWM5MGQ1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2Nv cmVfZGV2aWNlLmMKKysrIGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMKQEAg LTgyOSw5ICs4MjksOCBAQCBzdHJ1Y3Qgc2VfZGV2aWNlICp0YXJnZXRfYWxsb2NfZGV2aWNlKHN0 cnVjdCBzZV9oYmEgKmhiYSwgY29uc3QgY2hhciAqbmFtZSkKIH0KIAogLyoKLSAqIENoZWNrIGlm IHRoZSB1bmRlcmx5aW5nIHN0cnVjdCBibG9ja19kZXZpY2UgcmVxdWVzdF9xdWV1ZSBzdXBwb3J0 cwotICogdGhlIFFVRVVFX0ZMQUdfRElTQ0FSRCBiaXQgZm9yIFVOTUFQL1dSSVRFX1NBTUUgaW4g U0NTSSArIFRSSU0KLSAqIGluIEFUQSBhbmQgd2UgbmVlZCB0byBzZXQgVFBFPTEKKyAqIENoZWNr IGlmIHRoZSB1bmRlcmx5aW5nIHN0cnVjdCBibG9ja19kZXZpY2Ugc3VwcG9ydHMgZGlzY2FyZCBh bmQgaWYgeWVzCisgKiBjb25maWd1cmUgdGhlIFVOTUFQIHBhcmFtZXRlcnMuCiAgKi8KIGJvb2wg dGFyZ2V0X2NvbmZpZ3VyZV91bm1hcF9mcm9tX3F1ZXVlKHN0cnVjdCBzZV9kZXZfYXR0cmliICph dHRyaWIsCiAJCQkJICAgICAgIHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCkBAIC04NDMsNyAr ODQyLDcgQEAgYm9vbCB0YXJnZXRfY29uZmlndXJlX3VubWFwX2Zyb21fcXVldWUoc3RydWN0IHNl X2Rldl9hdHRyaWIgKmF0dHJpYiwKIAkJcmV0dXJuIGZhbHNlOwogCiAJYXR0cmliLT5tYXhfdW5t YXBfbGJhX2NvdW50ID0KLQkJcS0+bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnMgPj4gKGlsb2cy KGJsb2NrX3NpemUpIC0gOSk7CisJCWJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSA+PiAo aWxvZzIoYmxvY2tfc2l6ZSkgLSA5KTsKIAkvKgogCSAqIEN1cnJlbnRseSBoYXJkY29kZWQgdG8g MSBpbiBMaW51eC9TQ1NJIGNvZGUuLgogCSAqLwpkaWZmIC0tZ2l0IGEvZnMvZjJmcy9zZWdtZW50 LmMgYi9mcy9mMmZzL3NlZ21lbnQuYwppbmRleCAyMmRmZWI5OTE1MjkwLi43MWYwOWFkYmNiYTg2 IDEwMDY0NAotLS0gYS9mcy9mMmZzL3NlZ21lbnQuYworKysgYi9mcy9mMmZzL3NlZ21lbnQuYwpA QCAtMTE5Niw5ICsxMTk2LDggQEAgc3RhdGljIGludCBfX3N1Ym1pdF9kaXNjYXJkX2NtZChzdHJ1 Y3QgZjJmc19zYl9pbmZvICpzYmksCiAJCQkJCQl1bnNpZ25lZCBpbnQgKmlzc3VlZCkKIHsKIAlz dHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2ID0gZGMtPmJkZXY7Ci0Jc3RydWN0IHJlcXVlc3RfcXVl dWUgKnEgPSBiZGV2X2dldF9xdWV1ZShiZGV2KTsKIAl1bnNpZ25lZCBpbnQgbWF4X2Rpc2NhcmRf YmxvY2tzID0KLQkJCVNFQ1RPUl9UT19CTE9DSyhxLT5saW1pdHMubWF4X2Rpc2NhcmRfc2VjdG9y cyk7CisJCQlTRUNUT1JfVE9fQkxPQ0soYmRldl9tYXhfZGlzY2FyZF9zZWN0b3JzKGJkZXYpKTsK IAlzdHJ1Y3QgZGlzY2FyZF9jbWRfY29udHJvbCAqZGNjID0gU01fSShzYmkpLT5kY2NfaW5mbzsK IAlzdHJ1Y3QgbGlzdF9oZWFkICp3YWl0X2xpc3QgPSAoZHBvbGljeS0+dHlwZSA9PSBEUE9MSUNZ X0ZTVFJJTSkgPwogCQkJCQkmKGRjYy0+ZnN0cmltX2xpc3QpIDogJihkY2MtPndhaXRfbGlzdCk7 CkBAIC0xMzc1LDkgKzEzNzQsOCBAQCBzdGF0aWMgdm9pZCBfX3VwZGF0ZV9kaXNjYXJkX3RyZWVf cmFuZ2Uoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAogCXN0cnVjdCBkaXNjYXJkX2NtZCAqZGM7 CiAJc3RydWN0IGRpc2NhcmRfaW5mbyBkaSA9IHswfTsKIAlzdHJ1Y3QgcmJfbm9kZSAqKmluc2Vy dF9wID0gTlVMTCwgKmluc2VydF9wYXJlbnQgPSBOVUxMOwotCXN0cnVjdCByZXF1ZXN0X3F1ZXVl ICpxID0gYmRldl9nZXRfcXVldWUoYmRldik7CiAJdW5zaWduZWQgaW50IG1heF9kaXNjYXJkX2Js b2NrcyA9Ci0JCQlTRUNUT1JfVE9fQkxPQ0socS0+bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnMp OworCQkJU0VDVE9SX1RPX0JMT0NLKGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSk7CiAJ YmxvY2tfdCBlbmQgPSBsc3RhcnQgKyBsZW47CiAKIAlkYyA9IChzdHJ1Y3QgZGlzY2FyZF9jbWQg KilmMmZzX2xvb2t1cF9yYl90cmVlX3JldCgmZGNjLT5yb290LApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9saW51eC9ibGtkZXYuaCBiL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKaW5kZXggMzRiMWNmZDA2 NzQyMS4uY2UxNjI0N2QzYWZhYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ibGtkZXYuaAor KysgYi9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCkBAIC0xMjU0LDYgKzEyNTQsMTEgQEAgYmRldl96 b25lX3dyaXRlX2dyYW51bGFyaXR5KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCiBpbnQgYmRl dl9hbGlnbm1lbnRfb2Zmc2V0KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpOwogdW5zaWduZWQg aW50IGJkZXZfZGlzY2FyZF9hbGlnbm1lbnQoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldik7CiAK K3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhzdHJ1 Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQoreworCXJldHVybiBiZGV2X2dldF9xdWV1ZShiZGV2KS0+ bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnM7Cit9CisKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQg aW50IGJkZXZfd3JpdGVfemVyb2VzX3NlY3RvcnMoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikK IHsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXZfZ2V0X3F1ZXVlKGJkZXYpOwotLSAK Mi4zMC4yCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkxpbnV4LWYyZnMtZGV2ZWwgbWFpbGluZyBsaXN0CkxpbnV4LWYyZnMtZGV2ZWxAbGlzdHMuc291 cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv L2xpbnV4LWYyZnMtZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5424AC4167D for ; Fri, 15 Apr 2022 04:54:29 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 08F214198C; Fri, 15 Apr 2022 04:54:29 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dGyQgWOW2MZQ; Fri, 15 Apr 2022 04:54:27 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id 114194198F; Fri, 15 Apr 2022 04:54:27 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id D7E87C0033; Fri, 15 Apr 2022 04:54:26 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id CAD56C002C for ; Fri, 15 Apr 2022 04:54:25 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id B8C58819D1 for ; Fri, 15 Apr 2022 04:54:25 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp1.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=infradead.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q9q-AxyNQyJH for ; Fri, 15 Apr 2022 04:54:25 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) by smtp1.osuosl.org (Postfix) with ESMTPS id C9DB8817D3 for ; Fri, 15 Apr 2022 04:54:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Sender:Reply-To:Content-ID:Content-Description; bh=CzPLS+Gjxb/zoXdxVG3wb1X+zPEYuY3a71fFFzUQsIo=; b=PxTC6KnciQw0TSk9vI+K+AMZhB u9e+Rsg6/gEELi9/+U/v63dpyvw0hUtfHyPU16IZS1Eodmr5X+cu2FRmZWSzJpe+KZhaB8WPX73iy c6TK87vBkvMsokVjnVkLP6p7ua2/nu4iRHseV7k8Otwf/q7lwy6z7apWU+n+IP1iUvyEzbauM7lCp dkSj+aQUOppSdadfxst8W0LcrS+Mm/D+yrRNvKalP/J5Dfogq3zfiOEumpJYUHKnW8QvLxDGWbnNa GemfPfulsMzUnykcCOMbb7hTYIQIE4W/va/oe9dQyCoWo0AOAT691zcccidiP4Ae970vBl8VgjIPB +dTJ1dFw==; Received: from [2a02:1205:504b:4280:f5dd:42a4:896c:d877] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nfDyG-008PgP-Ki; Fri, 15 Apr 2022 04:54:13 +0000 From: Christoph Hellwig To: Jens Axboe Subject: [PATCH 23/27] block: add a bdev_max_discard_sectors helper Date: Fri, 15 Apr 2022 06:52:54 +0200 Message-Id: <20220415045258.199825-24-hch@lst.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220415045258.199825-1-hch@lst.de> References: <20220415045258.199825-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html Cc: jfs-discussion@lists.sourceforge.net, linux-nvme@lists.infradead.org, virtualization@lists.linux-foundation.org, linux-mm@kvack.org, dm-devel@redhat.com, target-devel@vger.kernel.org, linux-mtd@lists.infradead.org, drbd-dev@lists.linbit.com, linux-s390@vger.kernel.org, linux-nilfs@vger.kernel.org, linux-scsi@vger.kernel.org, cluster-devel@redhat.com, xen-devel@lists.xenproject.org, linux-ext4@vger.kernel.org, linux-um@lists.infradead.org, nbd@other.debian.org, linux-block@vger.kernel.org, linux-bcache@vger.kernel.org, David Sterba , ceph-devel@vger.kernel.org, Coly Li , linux-raid@vger.kernel.org, "Martin K . Petersen" , linux-mmc@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-xfs@vger.kernel.org, =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , ocfs2-devel@oss.oracle.com, linux-fsdevel@vger.kernel.org, ntfs3@lists.linux.dev, linux-btrfs@vger.kernel.org X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" QWRkIGEgaGVscGVyIHRvIHF1ZXJ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBzdXBwb3J0IHBlciBl YWNoIGRpc2NhcmQgYmlvCmJhc2VkIG9uIHRoZSBibG9jayBkZXZpY2UgYW5kIHVzZSB0aGlzIGhl bHBlciB0byBzdG9wIHZhcmlvdXMgcGxhY2VzIGZyb20KcG9raW5nIGludG8gdGhlIHJlcXVlc3Rf cXVldWUgdG8gc2VlIGlmIGRpc2NhcmQgaXMgc3VwcG9ydGVkIGFuZCBpZiBzbyBob3cKbXVjaC4g IFRoaXMgbWlycm9ycyB3aGF0IGlzIGRvbmUgZS5nLiBmb3Igd3JpdGUgemVyb2VzIGFzIHdlbGwu CgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KUmV2aWV3ZWQt Ynk6IE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+CkFja2Vk LWJ5OiBDaHJpc3RvcGggQsO2aG13YWxkZXIgPGNocmlzdG9waC5ib2VobXdhbGRlckBsaW5iaXQu Y29tPiBbZHJiZF0KQWNrZWQtYnk6IENvbHkgTGkgPGNvbHlsaUBzdXNlLmRlPiBbYmNhY2hlXQpB Y2tlZC1ieTogRGF2aWQgU3RlcmJhIDxkc3RlcmJhQHN1c2UuY29tPiBbYnRyZnNdCi0tLQogZHJp dmVycy9ibG9jay9kcmJkL2RyYmRfbmwuYyAgICAgICAgfCA4ICsrKysrLS0tCiBkcml2ZXJzL2Js b2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jICB8IDIgKy0KIGRyaXZlcnMvYmxvY2svcm5iZC9ybmJk LXNydi1kZXYuaCAgIHwgMyArLS0KIGRyaXZlcnMvbWQvZG0taW8uYyAgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMgfCA3ICsrKy0tLS0K IGZzL2YyZnMvc2VnbWVudC5jICAgICAgICAgICAgICAgICAgIHwgNiArKy0tLS0KIGluY2x1ZGUv bGludXgvYmxrZGV2LmggICAgICAgICAgICAgIHwgNSArKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAx OCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Js b2NrL2RyYmQvZHJiZF9ubC5jIGIvZHJpdmVycy9ibG9jay9kcmJkL2RyYmRfbmwuYwppbmRleCA0 ZDAwOTg2ZDZmNTg4Li5hMGEwNmUyMzhlOTE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2Ry YmQvZHJiZF9ubC5jCisrKyBiL2RyaXZlcnMvYmxvY2svZHJiZC9kcmJkX25sLmMKQEAgLTE0Mzks NyArMTQzOSw4IEBAIHN0YXRpYyBib29sIHdyaXRlX29yZGVyaW5nX2NoYW5nZWQoc3RydWN0IGRp c2tfY29uZiAqYSwgc3RydWN0IGRpc2tfY29uZiAqYikKIHN0YXRpYyB2b2lkIHNhbml0aXplX2Rp c2tfY29uZihzdHJ1Y3QgZHJiZF9kZXZpY2UgKmRldmljZSwgc3RydWN0IGRpc2tfY29uZiAqZGlz a19jb25mLAogCQkJICAgICAgIHN0cnVjdCBkcmJkX2JhY2tpbmdfZGV2ICpuYmMpCiB7Ci0Jc3Ry dWN0IHJlcXVlc3RfcXVldWUgKiBjb25zdCBxID0gbmJjLT5iYWNraW5nX2JkZXYtPmJkX2Rpc2st PnF1ZXVlOworCXN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYgPSBuYmMtPmJhY2tpbmdfYmRldjsK KwlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXYtPmJkX2Rpc2stPnF1ZXVlOwogCiAJaWYg KGRpc2tfY29uZi0+YWxfZXh0ZW50cyA8IERSQkRfQUxfRVhURU5UU19NSU4pCiAJCWRpc2tfY29u Zi0+YWxfZXh0ZW50cyA9IERSQkRfQUxfRVhURU5UU19NSU47CkBAIC0xNDU1LDYgKzE0NTYsNyBA QCBzdGF0aWMgdm9pZCBzYW5pdGl6ZV9kaXNrX2NvbmYoc3RydWN0IGRyYmRfZGV2aWNlICpkZXZp Y2UsIHN0cnVjdCBkaXNrX2NvbmYgKmRpcwogCiAJaWYgKGRpc2tfY29uZi0+cnNfZGlzY2FyZF9n cmFudWxhcml0eSkgewogCQlpbnQgb3JpZ192YWx1ZSA9IGRpc2tfY29uZi0+cnNfZGlzY2FyZF9n cmFudWxhcml0eTsKKwkJc2VjdG9yX3QgZGlzY2FyZF9zaXplID0gYmRldl9tYXhfZGlzY2FyZF9z ZWN0b3JzKGJkZXYpIDw8IDk7CiAJCWludCByZW1haW5kZXI7CiAKIAkJaWYgKHEtPmxpbWl0cy5k aXNjYXJkX2dyYW51bGFyaXR5ID4gZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5KQpA QCAtMTQ2Myw4ICsxNDY1LDggQEAgc3RhdGljIHZvaWQgc2FuaXRpemVfZGlza19jb25mKHN0cnVj dCBkcmJkX2RldmljZSAqZGV2aWNlLCBzdHJ1Y3QgZGlza19jb25mICpkaXMKIAkJcmVtYWluZGVy ID0gZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ICUgcS0+bGltaXRzLmRpc2NhcmRf Z3JhbnVsYXJpdHk7CiAJCWRpc2tfY29uZi0+cnNfZGlzY2FyZF9ncmFudWxhcml0eSArPSByZW1h aW5kZXI7CiAKLQkJaWYgKGRpc2tfY29uZi0+cnNfZGlzY2FyZF9ncmFudWxhcml0eSA+IHEtPmxp bWl0cy5tYXhfZGlzY2FyZF9zZWN0b3JzIDw8IDkpCi0JCQlkaXNrX2NvbmYtPnJzX2Rpc2NhcmRf Z3JhbnVsYXJpdHkgPSBxLT5saW1pdHMubWF4X2Rpc2NhcmRfc2VjdG9ycyA8PCA5OworCQlpZiAo ZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ID4gZGlzY2FyZF9zaXplKQorCQkJZGlz a19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ID0gZGlzY2FyZF9zaXplOwogCiAJCWlmIChk aXNrX2NvbmYtPnJzX2Rpc2NhcmRfZ3JhbnVsYXJpdHkgIT0gb3JpZ192YWx1ZSkKIAkJCWRyYmRf aW5mbyhkZXZpY2UsICJyc19kaXNjYXJkX2dyYW51bGFyaXR5IGNoYW5nZWQgdG8gJWRcbiIsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jIGIvZHJpdmVycy9i bG9jay9kcmJkL2RyYmRfcmVjZWl2ZXIuYwppbmRleCAwOGRhOTIyZjgxZDFkLi4wYjRjN2RlNDYz OTg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jCisrKyBi L2RyaXZlcnMvYmxvY2svZHJiZC9kcmJkX3JlY2VpdmVyLmMKQEAgLTE1MjQsNyArMTUyNCw3IEBA IGludCBkcmJkX2lzc3VlX2Rpc2NhcmRfb3JfemVyb19vdXQoc3RydWN0IGRyYmRfZGV2aWNlICpk ZXZpY2UsIHNlY3Rvcl90IHN0YXJ0LCB1CiAJZ3JhbnVsYXJpdHkgPSBtYXgocS0+bGltaXRzLmRp c2NhcmRfZ3JhbnVsYXJpdHkgPj4gOSwgMVUpOwogCWFsaWdubWVudCA9IChiZGV2X2Rpc2NhcmRf YWxpZ25tZW50KGJkZXYpID4+IDkpICUgZ3JhbnVsYXJpdHk7CiAKLQltYXhfZGlzY2FyZF9zZWN0 b3JzID0gbWluKHEtPmxpbWl0cy5tYXhfZGlzY2FyZF9zZWN0b3JzLCAoMVUgPDwgMjIpKTsKKwlt YXhfZGlzY2FyZF9zZWN0b3JzID0gbWluKGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSwg KDFVIDw8IDIyKSk7CiAJbWF4X2Rpc2NhcmRfc2VjdG9ycyAtPSBtYXhfZGlzY2FyZF9zZWN0b3Jz ICUgZ3JhbnVsYXJpdHk7CiAJaWYgKHVubGlrZWx5KCFtYXhfZGlzY2FyZF9zZWN0b3JzKSkKIAkJ Z290byB6ZXJvX291dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcm5iZC9ybmJkLXNydi1k ZXYuaCBiL2RyaXZlcnMvYmxvY2svcm5iZC9ybmJkLXNydi1kZXYuaAppbmRleCAyYzNkZjAyYjVl OGVjLi5mODJmYmI0YmJkYThlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3JuYmQvcm5iZC1z cnYtZGV2LmgKKysrIGIvZHJpdmVycy9ibG9jay9ybmJkL3JuYmQtc3J2LWRldi5oCkBAIC01Miw4 ICs1Miw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHJuYmRfZGV2X2dldF9tYXhfZGlzY2FyZF9zZWN0 cyhjb25zdCBzdHJ1Y3Qgcm5iZF9kZXYgKmRldikKIAlpZiAoIWJsa19xdWV1ZV9kaXNjYXJkKGJk ZXZfZ2V0X3F1ZXVlKGRldi0+YmRldikpKQogCQlyZXR1cm4gMDsKIAotCXJldHVybiBibGtfcXVl dWVfZ2V0X21heF9zZWN0b3JzKGJkZXZfZ2V0X3F1ZXVlKGRldi0+YmRldiksCi0JCQkJCSBSRVFf T1BfRElTQ0FSRCk7CisJcmV0dXJuIGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhkZXYtPmJkZXYp OwogfQogCiBzdGF0aWMgaW5saW5lIGludCBybmJkX2Rldl9nZXRfZGlzY2FyZF9ncmFudWxhcml0 eShjb25zdCBzdHJ1Y3Qgcm5iZF9kZXYgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvZG0t aW8uYyBiL2RyaXZlcnMvbWQvZG0taW8uYwppbmRleCA1NzYyMzY2MzMzYTI3Li5lNGI5NWVhZWVj OGM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL2RtLWlvLmMKKysrIGIvZHJpdmVycy9tZC9kbS1p by5jCkBAIC0zMTEsNyArMzExLDcgQEAgc3RhdGljIHZvaWQgZG9fcmVnaW9uKGludCBvcCwgaW50 IG9wX2ZsYWdzLCB1bnNpZ25lZCByZWdpb24sCiAJICogUmVqZWN0IHVuc3VwcG9ydGVkIGRpc2Nh cmQgYW5kIHdyaXRlIHNhbWUgcmVxdWVzdHMuCiAJICovCiAJaWYgKG9wID09IFJFUV9PUF9ESVND QVJEKQotCQlzcGVjaWFsX2NtZF9tYXhfc2VjdG9ycyA9IHEtPmxpbWl0cy5tYXhfZGlzY2FyZF9z ZWN0b3JzOworCQlzcGVjaWFsX2NtZF9tYXhfc2VjdG9ycyA9IGJkZXZfbWF4X2Rpc2NhcmRfc2Vj dG9ycyh3aGVyZS0+YmRldik7CiAJZWxzZSBpZiAob3AgPT0gUkVRX09QX1dSSVRFX1pFUk9FUykK IAkJc3BlY2lhbF9jbWRfbWF4X3NlY3RvcnMgPSBxLT5saW1pdHMubWF4X3dyaXRlX3plcm9lc19z ZWN0b3JzOwogCWlmICgob3AgPT0gUkVRX09QX0RJU0NBUkQgfHwgb3AgPT0gUkVRX09QX1dSSVRF X1pFUk9FUykgJiYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGFyZ2V0L3RhcmdldF9jb3JlX2Rldmlj ZS5jIGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMKaW5kZXggMTZlNzc1YmNm NGE3Yy4uYzNlMjViYWM5MGQ1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2Nv cmVfZGV2aWNlLmMKKysrIGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMKQEAg LTgyOSw5ICs4MjksOCBAQCBzdHJ1Y3Qgc2VfZGV2aWNlICp0YXJnZXRfYWxsb2NfZGV2aWNlKHN0 cnVjdCBzZV9oYmEgKmhiYSwgY29uc3QgY2hhciAqbmFtZSkKIH0KIAogLyoKLSAqIENoZWNrIGlm IHRoZSB1bmRlcmx5aW5nIHN0cnVjdCBibG9ja19kZXZpY2UgcmVxdWVzdF9xdWV1ZSBzdXBwb3J0 cwotICogdGhlIFFVRVVFX0ZMQUdfRElTQ0FSRCBiaXQgZm9yIFVOTUFQL1dSSVRFX1NBTUUgaW4g U0NTSSArIFRSSU0KLSAqIGluIEFUQSBhbmQgd2UgbmVlZCB0byBzZXQgVFBFPTEKKyAqIENoZWNr IGlmIHRoZSB1bmRlcmx5aW5nIHN0cnVjdCBibG9ja19kZXZpY2Ugc3VwcG9ydHMgZGlzY2FyZCBh bmQgaWYgeWVzCisgKiBjb25maWd1cmUgdGhlIFVOTUFQIHBhcmFtZXRlcnMuCiAgKi8KIGJvb2wg dGFyZ2V0X2NvbmZpZ3VyZV91bm1hcF9mcm9tX3F1ZXVlKHN0cnVjdCBzZV9kZXZfYXR0cmliICph dHRyaWIsCiAJCQkJICAgICAgIHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCkBAIC04NDMsNyAr ODQyLDcgQEAgYm9vbCB0YXJnZXRfY29uZmlndXJlX3VubWFwX2Zyb21fcXVldWUoc3RydWN0IHNl X2Rldl9hdHRyaWIgKmF0dHJpYiwKIAkJcmV0dXJuIGZhbHNlOwogCiAJYXR0cmliLT5tYXhfdW5t YXBfbGJhX2NvdW50ID0KLQkJcS0+bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnMgPj4gKGlsb2cy KGJsb2NrX3NpemUpIC0gOSk7CisJCWJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSA+PiAo aWxvZzIoYmxvY2tfc2l6ZSkgLSA5KTsKIAkvKgogCSAqIEN1cnJlbnRseSBoYXJkY29kZWQgdG8g MSBpbiBMaW51eC9TQ1NJIGNvZGUuLgogCSAqLwpkaWZmIC0tZ2l0IGEvZnMvZjJmcy9zZWdtZW50 LmMgYi9mcy9mMmZzL3NlZ21lbnQuYwppbmRleCAyMmRmZWI5OTE1MjkwLi43MWYwOWFkYmNiYTg2 IDEwMDY0NAotLS0gYS9mcy9mMmZzL3NlZ21lbnQuYworKysgYi9mcy9mMmZzL3NlZ21lbnQuYwpA QCAtMTE5Niw5ICsxMTk2LDggQEAgc3RhdGljIGludCBfX3N1Ym1pdF9kaXNjYXJkX2NtZChzdHJ1 Y3QgZjJmc19zYl9pbmZvICpzYmksCiAJCQkJCQl1bnNpZ25lZCBpbnQgKmlzc3VlZCkKIHsKIAlz dHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2ID0gZGMtPmJkZXY7Ci0Jc3RydWN0IHJlcXVlc3RfcXVl dWUgKnEgPSBiZGV2X2dldF9xdWV1ZShiZGV2KTsKIAl1bnNpZ25lZCBpbnQgbWF4X2Rpc2NhcmRf YmxvY2tzID0KLQkJCVNFQ1RPUl9UT19CTE9DSyhxLT5saW1pdHMubWF4X2Rpc2NhcmRfc2VjdG9y cyk7CisJCQlTRUNUT1JfVE9fQkxPQ0soYmRldl9tYXhfZGlzY2FyZF9zZWN0b3JzKGJkZXYpKTsK IAlzdHJ1Y3QgZGlzY2FyZF9jbWRfY29udHJvbCAqZGNjID0gU01fSShzYmkpLT5kY2NfaW5mbzsK IAlzdHJ1Y3QgbGlzdF9oZWFkICp3YWl0X2xpc3QgPSAoZHBvbGljeS0+dHlwZSA9PSBEUE9MSUNZ X0ZTVFJJTSkgPwogCQkJCQkmKGRjYy0+ZnN0cmltX2xpc3QpIDogJihkY2MtPndhaXRfbGlzdCk7 CkBAIC0xMzc1LDkgKzEzNzQsOCBAQCBzdGF0aWMgdm9pZCBfX3VwZGF0ZV9kaXNjYXJkX3RyZWVf cmFuZ2Uoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAogCXN0cnVjdCBkaXNjYXJkX2NtZCAqZGM7 CiAJc3RydWN0IGRpc2NhcmRfaW5mbyBkaSA9IHswfTsKIAlzdHJ1Y3QgcmJfbm9kZSAqKmluc2Vy dF9wID0gTlVMTCwgKmluc2VydF9wYXJlbnQgPSBOVUxMOwotCXN0cnVjdCByZXF1ZXN0X3F1ZXVl ICpxID0gYmRldl9nZXRfcXVldWUoYmRldik7CiAJdW5zaWduZWQgaW50IG1heF9kaXNjYXJkX2Js b2NrcyA9Ci0JCQlTRUNUT1JfVE9fQkxPQ0socS0+bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnMp OworCQkJU0VDVE9SX1RPX0JMT0NLKGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSk7CiAJ YmxvY2tfdCBlbmQgPSBsc3RhcnQgKyBsZW47CiAKIAlkYyA9IChzdHJ1Y3QgZGlzY2FyZF9jbWQg KilmMmZzX2xvb2t1cF9yYl90cmVlX3JldCgmZGNjLT5yb290LApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9saW51eC9ibGtkZXYuaCBiL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKaW5kZXggMzRiMWNmZDA2 NzQyMS4uY2UxNjI0N2QzYWZhYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ibGtkZXYuaAor KysgYi9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCkBAIC0xMjU0LDYgKzEyNTQsMTEgQEAgYmRldl96 b25lX3dyaXRlX2dyYW51bGFyaXR5KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCiBpbnQgYmRl dl9hbGlnbm1lbnRfb2Zmc2V0KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpOwogdW5zaWduZWQg aW50IGJkZXZfZGlzY2FyZF9hbGlnbm1lbnQoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldik7CiAK K3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhzdHJ1 Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQoreworCXJldHVybiBiZGV2X2dldF9xdWV1ZShiZGV2KS0+ bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnM7Cit9CisKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQg aW50IGJkZXZfd3JpdGVfemVyb2VzX3NlY3RvcnMoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikK IHsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXZfZ2V0X3F1ZXVlKGJkZXYpOwotLSAK Mi4zMC4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpW aXJ0dWFsaXphdGlvbiBtYWlsaW5nIGxpc3QKVmlydHVhbGl6YXRpb25AbGlzdHMubGludXgtZm91 bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlz dGluZm8vdmlydHVhbGl6YXRpb24= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 89843C41535 for ; Fri, 15 Apr 2022 04:55:12 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-447-g0wbAJf_OkyNsvTNDCpGXg-1; Fri, 15 Apr 2022 00:55:08 -0400 X-MC-Unique: g0wbAJf_OkyNsvTNDCpGXg-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8E26F185A7A4; Fri, 15 Apr 2022 04:55:06 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 787E440EC010; Fri, 15 Apr 2022 04:55:06 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 2A554194034A; Fri, 15 Apr 2022 04:55:06 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 737B419451EC for ; Fri, 15 Apr 2022 04:55:05 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 52E68442CBD; Fri, 15 Apr 2022 04:55:05 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast01.extmail.prod.ext.rdu2.redhat.com [10.11.55.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4EFD0442CBC for ; Fri, 15 Apr 2022 04:55:05 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 03E2D86B8AD for ; Fri, 15 Apr 2022 04:55:05 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-413-rE4IOVjNPvGdjXQUk8FROg-1; Fri, 15 Apr 2022 00:54:17 -0400 X-MC-Unique: rE4IOVjNPvGdjXQUk8FROg-1 Received: from [2a02:1205:504b:4280:f5dd:42a4:896c:d877] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nfDyG-008PgP-Ki; Fri, 15 Apr 2022 04:54:13 +0000 From: Christoph Hellwig To: Jens Axboe Date: Fri, 15 Apr 2022 06:52:54 +0200 Message-Id: <20220415045258.199825-24-hch@lst.de> In-Reply-To: <20220415045258.199825-1-hch@lst.de> References: <20220415045258.199825-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.85 on 10.11.54.9 Subject: [dm-devel] [PATCH 23/27] block: add a bdev_max_discard_sectors helper X-BeenThere: dm-devel@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: device-mapper development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: jfs-discussion@lists.sourceforge.net, linux-nvme@lists.infradead.org, virtualization@lists.linux-foundation.org, linux-mm@kvack.org, dm-devel@redhat.com, target-devel@vger.kernel.org, linux-mtd@lists.infradead.org, drbd-dev@lists.linbit.com, linux-s390@vger.kernel.org, linux-nilfs@vger.kernel.org, linux-scsi@vger.kernel.org, cluster-devel@redhat.com, xen-devel@lists.xenproject.org, linux-ext4@vger.kernel.org, linux-um@lists.infradead.org, nbd@other.debian.org, linux-block@vger.kernel.org, linux-bcache@vger.kernel.org, David Sterba , ceph-devel@vger.kernel.org, Coly Li , linux-raid@vger.kernel.org, "Martin K . Petersen" , linux-mmc@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-xfs@vger.kernel.org, =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , ocfs2-devel@oss.oracle.com, linux-fsdevel@vger.kernel.org, ntfs3@lists.linux.dev, linux-btrfs@vger.kernel.org Errors-To: dm-devel-bounces@redhat.com Sender: "dm-devel" X-Scanned-By: MIMEDefang 2.84 on 10.11.54.2 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=dm-devel-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIGEgaGVscGVyIHRvIHF1ZXJ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBzdXBwb3J0IHBlciBl YWNoIGRpc2NhcmQgYmlvCmJhc2VkIG9uIHRoZSBibG9jayBkZXZpY2UgYW5kIHVzZSB0aGlzIGhl bHBlciB0byBzdG9wIHZhcmlvdXMgcGxhY2VzIGZyb20KcG9raW5nIGludG8gdGhlIHJlcXVlc3Rf cXVldWUgdG8gc2VlIGlmIGRpc2NhcmQgaXMgc3VwcG9ydGVkIGFuZCBpZiBzbyBob3cKbXVjaC4g IFRoaXMgbWlycm9ycyB3aGF0IGlzIGRvbmUgZS5nLiBmb3Igd3JpdGUgemVyb2VzIGFzIHdlbGwu CgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KUmV2aWV3ZWQt Ynk6IE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+CkFja2Vk LWJ5OiBDaHJpc3RvcGggQsO2aG13YWxkZXIgPGNocmlzdG9waC5ib2VobXdhbGRlckBsaW5iaXQu Y29tPiBbZHJiZF0KQWNrZWQtYnk6IENvbHkgTGkgPGNvbHlsaUBzdXNlLmRlPiBbYmNhY2hlXQpB Y2tlZC1ieTogRGF2aWQgU3RlcmJhIDxkc3RlcmJhQHN1c2UuY29tPiBbYnRyZnNdCi0tLQogZHJp dmVycy9ibG9jay9kcmJkL2RyYmRfbmwuYyAgICAgICAgfCA4ICsrKysrLS0tCiBkcml2ZXJzL2Js b2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jICB8IDIgKy0KIGRyaXZlcnMvYmxvY2svcm5iZC9ybmJk LXNydi1kZXYuaCAgIHwgMyArLS0KIGRyaXZlcnMvbWQvZG0taW8uYyAgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMgfCA3ICsrKy0tLS0K IGZzL2YyZnMvc2VnbWVudC5jICAgICAgICAgICAgICAgICAgIHwgNiArKy0tLS0KIGluY2x1ZGUv bGludXgvYmxrZGV2LmggICAgICAgICAgICAgIHwgNSArKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAx OCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Js b2NrL2RyYmQvZHJiZF9ubC5jIGIvZHJpdmVycy9ibG9jay9kcmJkL2RyYmRfbmwuYwppbmRleCA0 ZDAwOTg2ZDZmNTg4Li5hMGEwNmUyMzhlOTE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2Ry YmQvZHJiZF9ubC5jCisrKyBiL2RyaXZlcnMvYmxvY2svZHJiZC9kcmJkX25sLmMKQEAgLTE0Mzks NyArMTQzOSw4IEBAIHN0YXRpYyBib29sIHdyaXRlX29yZGVyaW5nX2NoYW5nZWQoc3RydWN0IGRp c2tfY29uZiAqYSwgc3RydWN0IGRpc2tfY29uZiAqYikKIHN0YXRpYyB2b2lkIHNhbml0aXplX2Rp c2tfY29uZihzdHJ1Y3QgZHJiZF9kZXZpY2UgKmRldmljZSwgc3RydWN0IGRpc2tfY29uZiAqZGlz a19jb25mLAogCQkJICAgICAgIHN0cnVjdCBkcmJkX2JhY2tpbmdfZGV2ICpuYmMpCiB7Ci0Jc3Ry dWN0IHJlcXVlc3RfcXVldWUgKiBjb25zdCBxID0gbmJjLT5iYWNraW5nX2JkZXYtPmJkX2Rpc2st PnF1ZXVlOworCXN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYgPSBuYmMtPmJhY2tpbmdfYmRldjsK KwlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXYtPmJkX2Rpc2stPnF1ZXVlOwogCiAJaWYg KGRpc2tfY29uZi0+YWxfZXh0ZW50cyA8IERSQkRfQUxfRVhURU5UU19NSU4pCiAJCWRpc2tfY29u Zi0+YWxfZXh0ZW50cyA9IERSQkRfQUxfRVhURU5UU19NSU47CkBAIC0xNDU1LDYgKzE0NTYsNyBA QCBzdGF0aWMgdm9pZCBzYW5pdGl6ZV9kaXNrX2NvbmYoc3RydWN0IGRyYmRfZGV2aWNlICpkZXZp Y2UsIHN0cnVjdCBkaXNrX2NvbmYgKmRpcwogCiAJaWYgKGRpc2tfY29uZi0+cnNfZGlzY2FyZF9n cmFudWxhcml0eSkgewogCQlpbnQgb3JpZ192YWx1ZSA9IGRpc2tfY29uZi0+cnNfZGlzY2FyZF9n cmFudWxhcml0eTsKKwkJc2VjdG9yX3QgZGlzY2FyZF9zaXplID0gYmRldl9tYXhfZGlzY2FyZF9z ZWN0b3JzKGJkZXYpIDw8IDk7CiAJCWludCByZW1haW5kZXI7CiAKIAkJaWYgKHEtPmxpbWl0cy5k aXNjYXJkX2dyYW51bGFyaXR5ID4gZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5KQpA QCAtMTQ2Myw4ICsxNDY1LDggQEAgc3RhdGljIHZvaWQgc2FuaXRpemVfZGlza19jb25mKHN0cnVj dCBkcmJkX2RldmljZSAqZGV2aWNlLCBzdHJ1Y3QgZGlza19jb25mICpkaXMKIAkJcmVtYWluZGVy ID0gZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ICUgcS0+bGltaXRzLmRpc2NhcmRf Z3JhbnVsYXJpdHk7CiAJCWRpc2tfY29uZi0+cnNfZGlzY2FyZF9ncmFudWxhcml0eSArPSByZW1h aW5kZXI7CiAKLQkJaWYgKGRpc2tfY29uZi0+cnNfZGlzY2FyZF9ncmFudWxhcml0eSA+IHEtPmxp bWl0cy5tYXhfZGlzY2FyZF9zZWN0b3JzIDw8IDkpCi0JCQlkaXNrX2NvbmYtPnJzX2Rpc2NhcmRf Z3JhbnVsYXJpdHkgPSBxLT5saW1pdHMubWF4X2Rpc2NhcmRfc2VjdG9ycyA8PCA5OworCQlpZiAo ZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ID4gZGlzY2FyZF9zaXplKQorCQkJZGlz a19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ID0gZGlzY2FyZF9zaXplOwogCiAJCWlmIChk aXNrX2NvbmYtPnJzX2Rpc2NhcmRfZ3JhbnVsYXJpdHkgIT0gb3JpZ192YWx1ZSkKIAkJCWRyYmRf aW5mbyhkZXZpY2UsICJyc19kaXNjYXJkX2dyYW51bGFyaXR5IGNoYW5nZWQgdG8gJWRcbiIsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jIGIvZHJpdmVycy9i bG9jay9kcmJkL2RyYmRfcmVjZWl2ZXIuYwppbmRleCAwOGRhOTIyZjgxZDFkLi4wYjRjN2RlNDYz OTg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jCisrKyBi L2RyaXZlcnMvYmxvY2svZHJiZC9kcmJkX3JlY2VpdmVyLmMKQEAgLTE1MjQsNyArMTUyNCw3IEBA IGludCBkcmJkX2lzc3VlX2Rpc2NhcmRfb3JfemVyb19vdXQoc3RydWN0IGRyYmRfZGV2aWNlICpk ZXZpY2UsIHNlY3Rvcl90IHN0YXJ0LCB1CiAJZ3JhbnVsYXJpdHkgPSBtYXgocS0+bGltaXRzLmRp c2NhcmRfZ3JhbnVsYXJpdHkgPj4gOSwgMVUpOwogCWFsaWdubWVudCA9IChiZGV2X2Rpc2NhcmRf YWxpZ25tZW50KGJkZXYpID4+IDkpICUgZ3JhbnVsYXJpdHk7CiAKLQltYXhfZGlzY2FyZF9zZWN0 b3JzID0gbWluKHEtPmxpbWl0cy5tYXhfZGlzY2FyZF9zZWN0b3JzLCAoMVUgPDwgMjIpKTsKKwlt YXhfZGlzY2FyZF9zZWN0b3JzID0gbWluKGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSwg KDFVIDw8IDIyKSk7CiAJbWF4X2Rpc2NhcmRfc2VjdG9ycyAtPSBtYXhfZGlzY2FyZF9zZWN0b3Jz ICUgZ3JhbnVsYXJpdHk7CiAJaWYgKHVubGlrZWx5KCFtYXhfZGlzY2FyZF9zZWN0b3JzKSkKIAkJ Z290byB6ZXJvX291dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcm5iZC9ybmJkLXNydi1k ZXYuaCBiL2RyaXZlcnMvYmxvY2svcm5iZC9ybmJkLXNydi1kZXYuaAppbmRleCAyYzNkZjAyYjVl OGVjLi5mODJmYmI0YmJkYThlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3JuYmQvcm5iZC1z cnYtZGV2LmgKKysrIGIvZHJpdmVycy9ibG9jay9ybmJkL3JuYmQtc3J2LWRldi5oCkBAIC01Miw4 ICs1Miw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHJuYmRfZGV2X2dldF9tYXhfZGlzY2FyZF9zZWN0 cyhjb25zdCBzdHJ1Y3Qgcm5iZF9kZXYgKmRldikKIAlpZiAoIWJsa19xdWV1ZV9kaXNjYXJkKGJk ZXZfZ2V0X3F1ZXVlKGRldi0+YmRldikpKQogCQlyZXR1cm4gMDsKIAotCXJldHVybiBibGtfcXVl dWVfZ2V0X21heF9zZWN0b3JzKGJkZXZfZ2V0X3F1ZXVlKGRldi0+YmRldiksCi0JCQkJCSBSRVFf T1BfRElTQ0FSRCk7CisJcmV0dXJuIGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhkZXYtPmJkZXYp OwogfQogCiBzdGF0aWMgaW5saW5lIGludCBybmJkX2Rldl9nZXRfZGlzY2FyZF9ncmFudWxhcml0 eShjb25zdCBzdHJ1Y3Qgcm5iZF9kZXYgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvZG0t aW8uYyBiL2RyaXZlcnMvbWQvZG0taW8uYwppbmRleCA1NzYyMzY2MzMzYTI3Li5lNGI5NWVhZWVj OGM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL2RtLWlvLmMKKysrIGIvZHJpdmVycy9tZC9kbS1p by5jCkBAIC0zMTEsNyArMzExLDcgQEAgc3RhdGljIHZvaWQgZG9fcmVnaW9uKGludCBvcCwgaW50 IG9wX2ZsYWdzLCB1bnNpZ25lZCByZWdpb24sCiAJICogUmVqZWN0IHVuc3VwcG9ydGVkIGRpc2Nh cmQgYW5kIHdyaXRlIHNhbWUgcmVxdWVzdHMuCiAJICovCiAJaWYgKG9wID09IFJFUV9PUF9ESVND QVJEKQotCQlzcGVjaWFsX2NtZF9tYXhfc2VjdG9ycyA9IHEtPmxpbWl0cy5tYXhfZGlzY2FyZF9z ZWN0b3JzOworCQlzcGVjaWFsX2NtZF9tYXhfc2VjdG9ycyA9IGJkZXZfbWF4X2Rpc2NhcmRfc2Vj dG9ycyh3aGVyZS0+YmRldik7CiAJZWxzZSBpZiAob3AgPT0gUkVRX09QX1dSSVRFX1pFUk9FUykK IAkJc3BlY2lhbF9jbWRfbWF4X3NlY3RvcnMgPSBxLT5saW1pdHMubWF4X3dyaXRlX3plcm9lc19z ZWN0b3JzOwogCWlmICgob3AgPT0gUkVRX09QX0RJU0NBUkQgfHwgb3AgPT0gUkVRX09QX1dSSVRF X1pFUk9FUykgJiYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGFyZ2V0L3RhcmdldF9jb3JlX2Rldmlj ZS5jIGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMKaW5kZXggMTZlNzc1YmNm NGE3Yy4uYzNlMjViYWM5MGQ1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2Nv cmVfZGV2aWNlLmMKKysrIGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMKQEAg LTgyOSw5ICs4MjksOCBAQCBzdHJ1Y3Qgc2VfZGV2aWNlICp0YXJnZXRfYWxsb2NfZGV2aWNlKHN0 cnVjdCBzZV9oYmEgKmhiYSwgY29uc3QgY2hhciAqbmFtZSkKIH0KIAogLyoKLSAqIENoZWNrIGlm IHRoZSB1bmRlcmx5aW5nIHN0cnVjdCBibG9ja19kZXZpY2UgcmVxdWVzdF9xdWV1ZSBzdXBwb3J0 cwotICogdGhlIFFVRVVFX0ZMQUdfRElTQ0FSRCBiaXQgZm9yIFVOTUFQL1dSSVRFX1NBTUUgaW4g U0NTSSArIFRSSU0KLSAqIGluIEFUQSBhbmQgd2UgbmVlZCB0byBzZXQgVFBFPTEKKyAqIENoZWNr IGlmIHRoZSB1bmRlcmx5aW5nIHN0cnVjdCBibG9ja19kZXZpY2Ugc3VwcG9ydHMgZGlzY2FyZCBh bmQgaWYgeWVzCisgKiBjb25maWd1cmUgdGhlIFVOTUFQIHBhcmFtZXRlcnMuCiAgKi8KIGJvb2wg dGFyZ2V0X2NvbmZpZ3VyZV91bm1hcF9mcm9tX3F1ZXVlKHN0cnVjdCBzZV9kZXZfYXR0cmliICph dHRyaWIsCiAJCQkJICAgICAgIHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCkBAIC04NDMsNyAr ODQyLDcgQEAgYm9vbCB0YXJnZXRfY29uZmlndXJlX3VubWFwX2Zyb21fcXVldWUoc3RydWN0IHNl X2Rldl9hdHRyaWIgKmF0dHJpYiwKIAkJcmV0dXJuIGZhbHNlOwogCiAJYXR0cmliLT5tYXhfdW5t YXBfbGJhX2NvdW50ID0KLQkJcS0+bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnMgPj4gKGlsb2cy KGJsb2NrX3NpemUpIC0gOSk7CisJCWJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSA+PiAo aWxvZzIoYmxvY2tfc2l6ZSkgLSA5KTsKIAkvKgogCSAqIEN1cnJlbnRseSBoYXJkY29kZWQgdG8g MSBpbiBMaW51eC9TQ1NJIGNvZGUuLgogCSAqLwpkaWZmIC0tZ2l0IGEvZnMvZjJmcy9zZWdtZW50 LmMgYi9mcy9mMmZzL3NlZ21lbnQuYwppbmRleCAyMmRmZWI5OTE1MjkwLi43MWYwOWFkYmNiYTg2 IDEwMDY0NAotLS0gYS9mcy9mMmZzL3NlZ21lbnQuYworKysgYi9mcy9mMmZzL3NlZ21lbnQuYwpA QCAtMTE5Niw5ICsxMTk2LDggQEAgc3RhdGljIGludCBfX3N1Ym1pdF9kaXNjYXJkX2NtZChzdHJ1 Y3QgZjJmc19zYl9pbmZvICpzYmksCiAJCQkJCQl1bnNpZ25lZCBpbnQgKmlzc3VlZCkKIHsKIAlz dHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2ID0gZGMtPmJkZXY7Ci0Jc3RydWN0IHJlcXVlc3RfcXVl dWUgKnEgPSBiZGV2X2dldF9xdWV1ZShiZGV2KTsKIAl1bnNpZ25lZCBpbnQgbWF4X2Rpc2NhcmRf YmxvY2tzID0KLQkJCVNFQ1RPUl9UT19CTE9DSyhxLT5saW1pdHMubWF4X2Rpc2NhcmRfc2VjdG9y cyk7CisJCQlTRUNUT1JfVE9fQkxPQ0soYmRldl9tYXhfZGlzY2FyZF9zZWN0b3JzKGJkZXYpKTsK IAlzdHJ1Y3QgZGlzY2FyZF9jbWRfY29udHJvbCAqZGNjID0gU01fSShzYmkpLT5kY2NfaW5mbzsK IAlzdHJ1Y3QgbGlzdF9oZWFkICp3YWl0X2xpc3QgPSAoZHBvbGljeS0+dHlwZSA9PSBEUE9MSUNZ X0ZTVFJJTSkgPwogCQkJCQkmKGRjYy0+ZnN0cmltX2xpc3QpIDogJihkY2MtPndhaXRfbGlzdCk7 CkBAIC0xMzc1LDkgKzEzNzQsOCBAQCBzdGF0aWMgdm9pZCBfX3VwZGF0ZV9kaXNjYXJkX3RyZWVf cmFuZ2Uoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAogCXN0cnVjdCBkaXNjYXJkX2NtZCAqZGM7 CiAJc3RydWN0IGRpc2NhcmRfaW5mbyBkaSA9IHswfTsKIAlzdHJ1Y3QgcmJfbm9kZSAqKmluc2Vy dF9wID0gTlVMTCwgKmluc2VydF9wYXJlbnQgPSBOVUxMOwotCXN0cnVjdCByZXF1ZXN0X3F1ZXVl ICpxID0gYmRldl9nZXRfcXVldWUoYmRldik7CiAJdW5zaWduZWQgaW50IG1heF9kaXNjYXJkX2Js b2NrcyA9Ci0JCQlTRUNUT1JfVE9fQkxPQ0socS0+bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnMp OworCQkJU0VDVE9SX1RPX0JMT0NLKGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSk7CiAJ YmxvY2tfdCBlbmQgPSBsc3RhcnQgKyBsZW47CiAKIAlkYyA9IChzdHJ1Y3QgZGlzY2FyZF9jbWQg KilmMmZzX2xvb2t1cF9yYl90cmVlX3JldCgmZGNjLT5yb290LApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9saW51eC9ibGtkZXYuaCBiL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKaW5kZXggMzRiMWNmZDA2 NzQyMS4uY2UxNjI0N2QzYWZhYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ibGtkZXYuaAor KysgYi9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCkBAIC0xMjU0LDYgKzEyNTQsMTEgQEAgYmRldl96 b25lX3dyaXRlX2dyYW51bGFyaXR5KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCiBpbnQgYmRl dl9hbGlnbm1lbnRfb2Zmc2V0KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpOwogdW5zaWduZWQg aW50IGJkZXZfZGlzY2FyZF9hbGlnbm1lbnQoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldik7CiAK K3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhzdHJ1 Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQoreworCXJldHVybiBiZGV2X2dldF9xdWV1ZShiZGV2KS0+ bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnM7Cit9CisKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQg aW50IGJkZXZfd3JpdGVfemVyb2VzX3NlY3RvcnMoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikK IHsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXZfZ2V0X3F1ZXVlKGJkZXYpOwotLSAK Mi4zMC4yCgotLQpkbS1kZXZlbCBtYWlsaW5nIGxpc3QKZG0tZGV2ZWxAcmVkaGF0LmNvbQpodHRw czovL2xpc3RtYW4ucmVkaGF0LmNvbS9tYWlsbWFuL2xpc3RpbmZvL2RtLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0AC26C433FE for ; Fri, 15 Apr 2022 05:02:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=GxXB2t1QQOUtigF588wjoLZ9oo6QX5nXxQG7TmzmPZs=; b=pQWbUgziJ8VCg0 RUu0cjKL1s7UAL8QZTHFiaLsj0oSA5PGM+cp+h2qcp/Nxa/LKJdMVVlog09k7H/mhiwYWSCCspZou vHhmp2lG3bUPAoME3B02OrHGfEepS041Dd7qQUCV5wZPeMIjaaCC02LA/ZWuXMr/DDT0jlgUaWK6i LZ0jef3sEokXpyd9ArUAcVjgUbUBnp2Y3ynlh4m1TZ4+xhCdB335uPYu9T3e92U2OFHkKyStSnvfR 1mfiBk2Fa0kb4azpnlAY32UFg5Ln2+LwiZ2CpeOL80nnziboe01OQ6TsvaLfEJMGXeLXxrumaJz6v ghng9N7aB8nPX+kToT7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nfE6E-008WS4-GF; Fri, 15 Apr 2022 05:02:26 +0000 Received: from [2a02:1205:504b:4280:f5dd:42a4:896c:d877] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux)) id 1nfDyG-008PgP-Ki; Fri, 15 Apr 2022 04:54:13 +0000 From: Christoph Hellwig To: Jens Axboe Cc: dm-devel@redhat.com, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-um@lists.infradead.org, linux-block@vger.kernel.org, drbd-dev@lists.linbit.com, nbd@other.debian.org, ceph-devel@vger.kernel.org, virtualization@lists.linux-foundation.org, xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, linux-raid@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, linux-nvme@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, jfs-discussion@lists.sourceforge.net, linux-nilfs@vger.kernel.org, ntfs3@lists.linux.dev, ocfs2-devel@oss.oracle.com, linux-mm@kvack.org, "Martin K . Petersen" , =?UTF-8?q?Christoph=20B=C3=B6hmwalder?= , Coly Li , David Sterba Subject: [PATCH 23/27] block: add a bdev_max_discard_sectors helper Date: Fri, 15 Apr 2022 06:52:54 +0200 Message-Id: <20220415045258.199825-24-hch@lst.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220415045258.199825-1-hch@lst.de> References: <20220415045258.199825-1-hch@lst.de> MIME-Version: 1.0 X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org QWRkIGEgaGVscGVyIHRvIHF1ZXJ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBzdXBwb3J0IHBlciBl YWNoIGRpc2NhcmQgYmlvCmJhc2VkIG9uIHRoZSBibG9jayBkZXZpY2UgYW5kIHVzZSB0aGlzIGhl bHBlciB0byBzdG9wIHZhcmlvdXMgcGxhY2VzIGZyb20KcG9raW5nIGludG8gdGhlIHJlcXVlc3Rf cXVldWUgdG8gc2VlIGlmIGRpc2NhcmQgaXMgc3VwcG9ydGVkIGFuZCBpZiBzbyBob3cKbXVjaC4g IFRoaXMgbWlycm9ycyB3aGF0IGlzIGRvbmUgZS5nLiBmb3Igd3JpdGUgemVyb2VzIGFzIHdlbGwu CgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGggSGVsbHdpZyA8aGNoQGxzdC5kZT4KUmV2aWV3ZWQt Ynk6IE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+CkFja2Vk LWJ5OiBDaHJpc3RvcGggQsO2aG13YWxkZXIgPGNocmlzdG9waC5ib2VobXdhbGRlckBsaW5iaXQu Y29tPiBbZHJiZF0KQWNrZWQtYnk6IENvbHkgTGkgPGNvbHlsaUBzdXNlLmRlPiBbYmNhY2hlXQpB Y2tlZC1ieTogRGF2aWQgU3RlcmJhIDxkc3RlcmJhQHN1c2UuY29tPiBbYnRyZnNdCi0tLQogZHJp dmVycy9ibG9jay9kcmJkL2RyYmRfbmwuYyAgICAgICAgfCA4ICsrKysrLS0tCiBkcml2ZXJzL2Js b2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jICB8IDIgKy0KIGRyaXZlcnMvYmxvY2svcm5iZC9ybmJk LXNydi1kZXYuaCAgIHwgMyArLS0KIGRyaXZlcnMvbWQvZG0taW8uYyAgICAgICAgICAgICAgICAg IHwgMiArLQogZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMgfCA3ICsrKy0tLS0K IGZzL2YyZnMvc2VnbWVudC5jICAgICAgICAgICAgICAgICAgIHwgNiArKy0tLS0KIGluY2x1ZGUv bGludXgvYmxrZGV2LmggICAgICAgICAgICAgIHwgNSArKysrKwogNyBmaWxlcyBjaGFuZ2VkLCAx OCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Js b2NrL2RyYmQvZHJiZF9ubC5jIGIvZHJpdmVycy9ibG9jay9kcmJkL2RyYmRfbmwuYwppbmRleCA0 ZDAwOTg2ZDZmNTg4Li5hMGEwNmUyMzhlOTE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2Ry YmQvZHJiZF9ubC5jCisrKyBiL2RyaXZlcnMvYmxvY2svZHJiZC9kcmJkX25sLmMKQEAgLTE0Mzks NyArMTQzOSw4IEBAIHN0YXRpYyBib29sIHdyaXRlX29yZGVyaW5nX2NoYW5nZWQoc3RydWN0IGRp c2tfY29uZiAqYSwgc3RydWN0IGRpc2tfY29uZiAqYikKIHN0YXRpYyB2b2lkIHNhbml0aXplX2Rp c2tfY29uZihzdHJ1Y3QgZHJiZF9kZXZpY2UgKmRldmljZSwgc3RydWN0IGRpc2tfY29uZiAqZGlz a19jb25mLAogCQkJICAgICAgIHN0cnVjdCBkcmJkX2JhY2tpbmdfZGV2ICpuYmMpCiB7Ci0Jc3Ry dWN0IHJlcXVlc3RfcXVldWUgKiBjb25zdCBxID0gbmJjLT5iYWNraW5nX2JkZXYtPmJkX2Rpc2st PnF1ZXVlOworCXN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYgPSBuYmMtPmJhY2tpbmdfYmRldjsK KwlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXYtPmJkX2Rpc2stPnF1ZXVlOwogCiAJaWYg KGRpc2tfY29uZi0+YWxfZXh0ZW50cyA8IERSQkRfQUxfRVhURU5UU19NSU4pCiAJCWRpc2tfY29u Zi0+YWxfZXh0ZW50cyA9IERSQkRfQUxfRVhURU5UU19NSU47CkBAIC0xNDU1LDYgKzE0NTYsNyBA QCBzdGF0aWMgdm9pZCBzYW5pdGl6ZV9kaXNrX2NvbmYoc3RydWN0IGRyYmRfZGV2aWNlICpkZXZp Y2UsIHN0cnVjdCBkaXNrX2NvbmYgKmRpcwogCiAJaWYgKGRpc2tfY29uZi0+cnNfZGlzY2FyZF9n cmFudWxhcml0eSkgewogCQlpbnQgb3JpZ192YWx1ZSA9IGRpc2tfY29uZi0+cnNfZGlzY2FyZF9n cmFudWxhcml0eTsKKwkJc2VjdG9yX3QgZGlzY2FyZF9zaXplID0gYmRldl9tYXhfZGlzY2FyZF9z ZWN0b3JzKGJkZXYpIDw8IDk7CiAJCWludCByZW1haW5kZXI7CiAKIAkJaWYgKHEtPmxpbWl0cy5k aXNjYXJkX2dyYW51bGFyaXR5ID4gZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5KQpA QCAtMTQ2Myw4ICsxNDY1LDggQEAgc3RhdGljIHZvaWQgc2FuaXRpemVfZGlza19jb25mKHN0cnVj dCBkcmJkX2RldmljZSAqZGV2aWNlLCBzdHJ1Y3QgZGlza19jb25mICpkaXMKIAkJcmVtYWluZGVy ID0gZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ICUgcS0+bGltaXRzLmRpc2NhcmRf Z3JhbnVsYXJpdHk7CiAJCWRpc2tfY29uZi0+cnNfZGlzY2FyZF9ncmFudWxhcml0eSArPSByZW1h aW5kZXI7CiAKLQkJaWYgKGRpc2tfY29uZi0+cnNfZGlzY2FyZF9ncmFudWxhcml0eSA+IHEtPmxp bWl0cy5tYXhfZGlzY2FyZF9zZWN0b3JzIDw8IDkpCi0JCQlkaXNrX2NvbmYtPnJzX2Rpc2NhcmRf Z3JhbnVsYXJpdHkgPSBxLT5saW1pdHMubWF4X2Rpc2NhcmRfc2VjdG9ycyA8PCA5OworCQlpZiAo ZGlza19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ID4gZGlzY2FyZF9zaXplKQorCQkJZGlz a19jb25mLT5yc19kaXNjYXJkX2dyYW51bGFyaXR5ID0gZGlzY2FyZF9zaXplOwogCiAJCWlmIChk aXNrX2NvbmYtPnJzX2Rpc2NhcmRfZ3JhbnVsYXJpdHkgIT0gb3JpZ192YWx1ZSkKIAkJCWRyYmRf aW5mbyhkZXZpY2UsICJyc19kaXNjYXJkX2dyYW51bGFyaXR5IGNoYW5nZWQgdG8gJWRcbiIsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jIGIvZHJpdmVycy9i bG9jay9kcmJkL2RyYmRfcmVjZWl2ZXIuYwppbmRleCAwOGRhOTIyZjgxZDFkLi4wYjRjN2RlNDYz OTg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL2RyYmQvZHJiZF9yZWNlaXZlci5jCisrKyBi L2RyaXZlcnMvYmxvY2svZHJiZC9kcmJkX3JlY2VpdmVyLmMKQEAgLTE1MjQsNyArMTUyNCw3IEBA IGludCBkcmJkX2lzc3VlX2Rpc2NhcmRfb3JfemVyb19vdXQoc3RydWN0IGRyYmRfZGV2aWNlICpk ZXZpY2UsIHNlY3Rvcl90IHN0YXJ0LCB1CiAJZ3JhbnVsYXJpdHkgPSBtYXgocS0+bGltaXRzLmRp c2NhcmRfZ3JhbnVsYXJpdHkgPj4gOSwgMVUpOwogCWFsaWdubWVudCA9IChiZGV2X2Rpc2NhcmRf YWxpZ25tZW50KGJkZXYpID4+IDkpICUgZ3JhbnVsYXJpdHk7CiAKLQltYXhfZGlzY2FyZF9zZWN0 b3JzID0gbWluKHEtPmxpbWl0cy5tYXhfZGlzY2FyZF9zZWN0b3JzLCAoMVUgPDwgMjIpKTsKKwlt YXhfZGlzY2FyZF9zZWN0b3JzID0gbWluKGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSwg KDFVIDw8IDIyKSk7CiAJbWF4X2Rpc2NhcmRfc2VjdG9ycyAtPSBtYXhfZGlzY2FyZF9zZWN0b3Jz ICUgZ3JhbnVsYXJpdHk7CiAJaWYgKHVubGlrZWx5KCFtYXhfZGlzY2FyZF9zZWN0b3JzKSkKIAkJ Z290byB6ZXJvX291dDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svcm5iZC9ybmJkLXNydi1k ZXYuaCBiL2RyaXZlcnMvYmxvY2svcm5iZC9ybmJkLXNydi1kZXYuaAppbmRleCAyYzNkZjAyYjVl OGVjLi5mODJmYmI0YmJkYThlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2Jsb2NrL3JuYmQvcm5iZC1z cnYtZGV2LmgKKysrIGIvZHJpdmVycy9ibG9jay9ybmJkL3JuYmQtc3J2LWRldi5oCkBAIC01Miw4 ICs1Miw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHJuYmRfZGV2X2dldF9tYXhfZGlzY2FyZF9zZWN0 cyhjb25zdCBzdHJ1Y3Qgcm5iZF9kZXYgKmRldikKIAlpZiAoIWJsa19xdWV1ZV9kaXNjYXJkKGJk ZXZfZ2V0X3F1ZXVlKGRldi0+YmRldikpKQogCQlyZXR1cm4gMDsKIAotCXJldHVybiBibGtfcXVl dWVfZ2V0X21heF9zZWN0b3JzKGJkZXZfZ2V0X3F1ZXVlKGRldi0+YmRldiksCi0JCQkJCSBSRVFf T1BfRElTQ0FSRCk7CisJcmV0dXJuIGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhkZXYtPmJkZXYp OwogfQogCiBzdGF0aWMgaW5saW5lIGludCBybmJkX2Rldl9nZXRfZGlzY2FyZF9ncmFudWxhcml0 eShjb25zdCBzdHJ1Y3Qgcm5iZF9kZXYgKmRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvZG0t aW8uYyBiL2RyaXZlcnMvbWQvZG0taW8uYwppbmRleCA1NzYyMzY2MzMzYTI3Li5lNGI5NWVhZWVj OGM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL2RtLWlvLmMKKysrIGIvZHJpdmVycy9tZC9kbS1p by5jCkBAIC0zMTEsNyArMzExLDcgQEAgc3RhdGljIHZvaWQgZG9fcmVnaW9uKGludCBvcCwgaW50 IG9wX2ZsYWdzLCB1bnNpZ25lZCByZWdpb24sCiAJICogUmVqZWN0IHVuc3VwcG9ydGVkIGRpc2Nh cmQgYW5kIHdyaXRlIHNhbWUgcmVxdWVzdHMuCiAJICovCiAJaWYgKG9wID09IFJFUV9PUF9ESVND QVJEKQotCQlzcGVjaWFsX2NtZF9tYXhfc2VjdG9ycyA9IHEtPmxpbWl0cy5tYXhfZGlzY2FyZF9z ZWN0b3JzOworCQlzcGVjaWFsX2NtZF9tYXhfc2VjdG9ycyA9IGJkZXZfbWF4X2Rpc2NhcmRfc2Vj dG9ycyh3aGVyZS0+YmRldik7CiAJZWxzZSBpZiAob3AgPT0gUkVRX09QX1dSSVRFX1pFUk9FUykK IAkJc3BlY2lhbF9jbWRfbWF4X3NlY3RvcnMgPSBxLT5saW1pdHMubWF4X3dyaXRlX3plcm9lc19z ZWN0b3JzOwogCWlmICgob3AgPT0gUkVRX09QX0RJU0NBUkQgfHwgb3AgPT0gUkVRX09QX1dSSVRF X1pFUk9FUykgJiYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGFyZ2V0L3RhcmdldF9jb3JlX2Rldmlj ZS5jIGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMKaW5kZXggMTZlNzc1YmNm NGE3Yy4uYzNlMjViYWM5MGQ1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2Nv cmVfZGV2aWNlLmMKKysrIGIvZHJpdmVycy90YXJnZXQvdGFyZ2V0X2NvcmVfZGV2aWNlLmMKQEAg LTgyOSw5ICs4MjksOCBAQCBzdHJ1Y3Qgc2VfZGV2aWNlICp0YXJnZXRfYWxsb2NfZGV2aWNlKHN0 cnVjdCBzZV9oYmEgKmhiYSwgY29uc3QgY2hhciAqbmFtZSkKIH0KIAogLyoKLSAqIENoZWNrIGlm IHRoZSB1bmRlcmx5aW5nIHN0cnVjdCBibG9ja19kZXZpY2UgcmVxdWVzdF9xdWV1ZSBzdXBwb3J0 cwotICogdGhlIFFVRVVFX0ZMQUdfRElTQ0FSRCBiaXQgZm9yIFVOTUFQL1dSSVRFX1NBTUUgaW4g U0NTSSArIFRSSU0KLSAqIGluIEFUQSBhbmQgd2UgbmVlZCB0byBzZXQgVFBFPTEKKyAqIENoZWNr IGlmIHRoZSB1bmRlcmx5aW5nIHN0cnVjdCBibG9ja19kZXZpY2Ugc3VwcG9ydHMgZGlzY2FyZCBh bmQgaWYgeWVzCisgKiBjb25maWd1cmUgdGhlIFVOTUFQIHBhcmFtZXRlcnMuCiAgKi8KIGJvb2wg dGFyZ2V0X2NvbmZpZ3VyZV91bm1hcF9mcm9tX3F1ZXVlKHN0cnVjdCBzZV9kZXZfYXR0cmliICph dHRyaWIsCiAJCQkJICAgICAgIHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCkBAIC04NDMsNyAr ODQyLDcgQEAgYm9vbCB0YXJnZXRfY29uZmlndXJlX3VubWFwX2Zyb21fcXVldWUoc3RydWN0IHNl X2Rldl9hdHRyaWIgKmF0dHJpYiwKIAkJcmV0dXJuIGZhbHNlOwogCiAJYXR0cmliLT5tYXhfdW5t YXBfbGJhX2NvdW50ID0KLQkJcS0+bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnMgPj4gKGlsb2cy KGJsb2NrX3NpemUpIC0gOSk7CisJCWJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSA+PiAo aWxvZzIoYmxvY2tfc2l6ZSkgLSA5KTsKIAkvKgogCSAqIEN1cnJlbnRseSBoYXJkY29kZWQgdG8g MSBpbiBMaW51eC9TQ1NJIGNvZGUuLgogCSAqLwpkaWZmIC0tZ2l0IGEvZnMvZjJmcy9zZWdtZW50 LmMgYi9mcy9mMmZzL3NlZ21lbnQuYwppbmRleCAyMmRmZWI5OTE1MjkwLi43MWYwOWFkYmNiYTg2 IDEwMDY0NAotLS0gYS9mcy9mMmZzL3NlZ21lbnQuYworKysgYi9mcy9mMmZzL3NlZ21lbnQuYwpA QCAtMTE5Niw5ICsxMTk2LDggQEAgc3RhdGljIGludCBfX3N1Ym1pdF9kaXNjYXJkX2NtZChzdHJ1 Y3QgZjJmc19zYl9pbmZvICpzYmksCiAJCQkJCQl1bnNpZ25lZCBpbnQgKmlzc3VlZCkKIHsKIAlz dHJ1Y3QgYmxvY2tfZGV2aWNlICpiZGV2ID0gZGMtPmJkZXY7Ci0Jc3RydWN0IHJlcXVlc3RfcXVl dWUgKnEgPSBiZGV2X2dldF9xdWV1ZShiZGV2KTsKIAl1bnNpZ25lZCBpbnQgbWF4X2Rpc2NhcmRf YmxvY2tzID0KLQkJCVNFQ1RPUl9UT19CTE9DSyhxLT5saW1pdHMubWF4X2Rpc2NhcmRfc2VjdG9y cyk7CisJCQlTRUNUT1JfVE9fQkxPQ0soYmRldl9tYXhfZGlzY2FyZF9zZWN0b3JzKGJkZXYpKTsK IAlzdHJ1Y3QgZGlzY2FyZF9jbWRfY29udHJvbCAqZGNjID0gU01fSShzYmkpLT5kY2NfaW5mbzsK IAlzdHJ1Y3QgbGlzdF9oZWFkICp3YWl0X2xpc3QgPSAoZHBvbGljeS0+dHlwZSA9PSBEUE9MSUNZ X0ZTVFJJTSkgPwogCQkJCQkmKGRjYy0+ZnN0cmltX2xpc3QpIDogJihkY2MtPndhaXRfbGlzdCk7 CkBAIC0xMzc1LDkgKzEzNzQsOCBAQCBzdGF0aWMgdm9pZCBfX3VwZGF0ZV9kaXNjYXJkX3RyZWVf cmFuZ2Uoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAogCXN0cnVjdCBkaXNjYXJkX2NtZCAqZGM7 CiAJc3RydWN0IGRpc2NhcmRfaW5mbyBkaSA9IHswfTsKIAlzdHJ1Y3QgcmJfbm9kZSAqKmluc2Vy dF9wID0gTlVMTCwgKmluc2VydF9wYXJlbnQgPSBOVUxMOwotCXN0cnVjdCByZXF1ZXN0X3F1ZXVl ICpxID0gYmRldl9nZXRfcXVldWUoYmRldik7CiAJdW5zaWduZWQgaW50IG1heF9kaXNjYXJkX2Js b2NrcyA9Ci0JCQlTRUNUT1JfVE9fQkxPQ0socS0+bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnMp OworCQkJU0VDVE9SX1RPX0JMT0NLKGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhiZGV2KSk7CiAJ YmxvY2tfdCBlbmQgPSBsc3RhcnQgKyBsZW47CiAKIAlkYyA9IChzdHJ1Y3QgZGlzY2FyZF9jbWQg KilmMmZzX2xvb2t1cF9yYl90cmVlX3JldCgmZGNjLT5yb290LApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9saW51eC9ibGtkZXYuaCBiL2luY2x1ZGUvbGludXgvYmxrZGV2LmgKaW5kZXggMzRiMWNmZDA2 NzQyMS4uY2UxNjI0N2QzYWZhYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ibGtkZXYuaAor KysgYi9pbmNsdWRlL2xpbnV4L2Jsa2Rldi5oCkBAIC0xMjU0LDYgKzEyNTQsMTEgQEAgYmRldl96 b25lX3dyaXRlX2dyYW51bGFyaXR5KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpCiBpbnQgYmRl dl9hbGlnbm1lbnRfb2Zmc2V0KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpOwogdW5zaWduZWQg aW50IGJkZXZfZGlzY2FyZF9hbGlnbm1lbnQoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldik7CiAK K3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGJkZXZfbWF4X2Rpc2NhcmRfc2VjdG9ycyhzdHJ1 Y3QgYmxvY2tfZGV2aWNlICpiZGV2KQoreworCXJldHVybiBiZGV2X2dldF9xdWV1ZShiZGV2KS0+ bGltaXRzLm1heF9kaXNjYXJkX3NlY3RvcnM7Cit9CisKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQg aW50IGJkZXZfd3JpdGVfemVyb2VzX3NlY3RvcnMoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikK IHsKIAlzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXZfZ2V0X3F1ZXVlKGJkZXYpOwotLSAK Mi4zMC4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K