Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp3638332rwb; Tue, 20 Sep 2022 02:29:58 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5Nt3ZcBb86pbwPRCyVLvrsCvRSHI2ptroNACt/fk/jUDF11HEJmOo1R1EutBmErRbzmcvF X-Received: by 2002:a05:6402:148e:b0:44e:aa8c:abc5 with SMTP id e14-20020a056402148e00b0044eaa8cabc5mr19284821edv.145.1663666197812; Tue, 20 Sep 2022 02:29:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663666197; cv=none; d=google.com; s=arc-20160816; b=Ffv/yCQTSUSMF2uFS01vho8Qq3Nrgx+Uiv9xgv+lu/ILWuiKyryTB00dejN1tghQ0M MVbnX7w9kkn99bqkcUU4VY3Jb/l8ZcFYyEKeUb43iCfwbA/FYvKt9aZDLePD9vhQbLgh Pezfzw5KBSjpIPtrCG3f7lMHp0EwRvwtNFKrGXVJzsdweeWaxSITb4G+PIXp60/jQqHs 56VBjQrdrnB8P20ka7hDFMzMyhEvlUU/4mCQoSgynn6iO2GlW0OdGj6bMoxCQ7vU/2I/ PV8yKZFXuANwt5rEkDRaaVEbkuDM9XmkEzrAUW2vtbdabdMCeW86skXdyGUGD3DCw5gG YVSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:cms-type:content-transfer-encoding :mime-version:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=zJO9KrcTeOL7SSMLOg7EWOpTNLfEdNHx0gJYLP0U2v8=; b=WT4QQRwRInW3e92ohB6aemnSvCLmQHv+N8NyIadVqicIpUAJrIfieHqlXQr1/kC8Jx r7Yfg7tXiAH9ZCnJECLUgAYxxIjPE/im5nhuymQ6EqMDHM2sAIkvgJ9wce/ROleAsZmm iD5/wpjSWxGXjLNR6pkm1+KtFsqlJamwyLbu8NVLggWHEYtf/LZ6CHLwYpVw9q9V+fDt MVIAOi7xGVxmE2ywB60D3x1zBAvpdcbre+hrfCxwCcyl34ve3dD6kogmwmsTwbwf018p N7HrHZI+g8W+OE9LPS2TcdMRS7OROhhfnFeLJfpjuaAf5fX2MnuQTzUciEAkQMYZ6F78 jFvA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=pn54SB2R; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id du4-20020a17090772c400b0076fa2b7712csi984549ejc.221.2022.09.20.02.29.32; Tue, 20 Sep 2022 02:29:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@samsung.com header.s=mail20170921 header.b=pn54SB2R; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=samsung.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231767AbiITJMo (ORCPT + 99 others); Tue, 20 Sep 2022 05:12:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231661AbiITJLy (ORCPT ); Tue, 20 Sep 2022 05:11:54 -0400 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4B7B61DB0 for ; Tue, 20 Sep 2022 02:11:38 -0700 (PDT) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20220920091136euoutp018ae45ededf0e23a9f9eca15670c80b80~Whpc7sqZH1026310263euoutp01e for ; Tue, 20 Sep 2022 09:11:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20220920091136euoutp018ae45ededf0e23a9f9eca15670c80b80~Whpc7sqZH1026310263euoutp01e DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1663665096; bh=zJO9KrcTeOL7SSMLOg7EWOpTNLfEdNHx0gJYLP0U2v8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pn54SB2R+9HuIuyys6V9VZOSWY/44vID6Cmv0NTjL/T4nPg84MYfdiM2Nbwm3H8sw iR0LXKYlnq8FYnTUUA1fs7VLwGpgtYjJsrvrwTsqrNShXaeBOU+u148vZlY7VFYj2D rp/iQtmcaPg1/L95X+yD2D7f0lKOhfoRguQCCyEk= Received: from eusmges3new.samsung.com (unknown [203.254.199.245]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20220920091134eucas1p22889d52d26e777aa61ebbb2e5ad9af26~WhpbYJLHR0517305173eucas1p2s; Tue, 20 Sep 2022 09:11:34 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges3new.samsung.com (EUCPMTA) with SMTP id 30.A8.19378.6C389236; Tue, 20 Sep 2022 10:11:34 +0100 (BST) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20220920091134eucas1p275585b70fab48ba1f19eb5d2cc515b6d~Whpa12S-q3248232482eucas1p2J; Tue, 20 Sep 2022 09:11:34 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20220920091134eusmtrp15d0f5cecabf3dcf273ccc8731df62cd8~Whpa09uTe0212802128eusmtrp1A; Tue, 20 Sep 2022 09:11:34 +0000 (GMT) X-AuditID: cbfec7f5-a35ff70000014bb2-d8-632983c62ae3 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id DE.53.10862.6C389236; Tue, 20 Sep 2022 10:11:34 +0100 (BST) Received: from localhost (unknown [106.210.248.192]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20220920091133eusmtip2591d1a82333699ba03c6a5b5a251224e~Whpah9jrW2175621756eusmtip2h; Tue, 20 Sep 2022 09:11:33 +0000 (GMT) From: Pankaj Raghav To: agk@redhat.com, snitzer@kernel.org, axboe@kernel.dk, damien.lemoal@opensource.wdc.com, hch@lst.de Cc: gost.dev@samsung.com, jaegeuk@kernel.org, Johannes.Thumshirn@wdc.com, hare@suse.de, bvanassche@acm.org, dm-devel@redhat.com, matias.bjorling@wdc.com, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, pankydev8@gmail.com, linux-block@vger.kernel.org, Pankaj Raghav , Johannes Thumshirn , Damien Le Moal Subject: [PATCH v14 13/13] dm: add power-of-2 target for zoned devices with non power-of-2 zone sizes Date: Tue, 20 Sep 2022 11:11:19 +0200 Message-Id: <20220920091119.115879-14-p.raghav@samsung.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220920091119.115879-1-p.raghav@samsung.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrKKsWRmVeSWpSXmKPExsWy7djP87rHmjWTDVaeV7NYf+oYs8Xqu/1s FtM+/GS2+H32PLNFa/s3Jou972azWtw8sJPJYs+iSUwWK1cfZbJ4sn4Ws8XfrntA2VvaFpd3 zWGzmL/sKbvFhLavzBafl7awW6y5+ZTF4sQtaQchj8tXvD12zrrL7nH5bKnHplWdbB6bl9R7 7L7ZwOaxs/U+q8f7fVfZPPq2rGL02Hy62uPzJjmP9gPdTAE8UVw2Kak5mWWpRfp2CVwZ3ddb 2Aum1Vec+nuBvYHxZ0oXIyeHhICJxM6/DUxdjFwcQgIrGCUutU5mgXC+MEp8m72GFcL5zCjR 824tG0zLr1n3GCESyxklWh+tYIdwXjJK/JnzAqifg4NNQEuisZMdpEFEIF3i69cNYA3MApOZ JV68msQCkhAGSqz+eQXMZhFQlWhcNIkRxOYVsJb49WQGI8Q2eYmZl76DDeIEis/Z3cIGUSMo cXLmE7BeZqCa5q2zmUEWSAhs5pS4+GkNO0Szi0T7nqtQtrDEq+NboGwZidOTe1gg7GqJpzd+ QzW3MEr071zPBvKBBNC2vjM5ICazgKbE+l36EOWOEueubmKHqOCTuPFWEOIEPolJ26YzQ4R5 JTrahCCqlSR2/nwCtVRC4nLTHKilHhI93ecZJzAqzkLyzCwkz8xC2LuAkXkVo3hqaXFuemqx cV5quV5xYm5xaV66XnJ+7iZGYEo8/e/41x2MK1591DvEyMTBeIhRgoNZSYS3xV8zWYg3JbGy KrUoP76oNCe1+BCjNAeLkjhvcuaGRCGB9MSS1OzU1ILUIpgsEwenVAOT4r4Nv/c+nXHymmsX v4COrd/OH9mvmpp+bXB5o/LF9+Rcz8U/99wWauJhC0sP+hq1QqHrnoSuUoVK2vwbeiy8lTZL 1Rm/7J2/VzCw6nm3rQHHqcN7GS/talTaPd88ftv8RTXPS9WjG+a8PpakfX9VTN+Pp1dOtcus 6r09v3zXyVx2bsGTTamm9obXj5olWD6plvipvqVzyZp55jo3c6LW6H540ilr5/fk6UFhG9bM 5SclVk7wWctzwuCgRZUZX2bijXUHqhZLbJObEeZmd/5W+qubuXW33Zhes9781vZMje94l0Gy mylvZ8gykfKWlrZ5PCEKqeu60pdEzDha7Wf1Mybeq++ti/7HT3tVX/1QYinOSDTUYi4qTgQA GZ0zW/gDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrMIsWRmVeSWpSXmKPExsVy+t/xe7rHmjWTDdY+YLVYf+oYs8Xqu/1s FtM+/GS2+H32PLNFa/s3Jou972azWtw8sJPJYs+iSUwWK1cfZbJ4sn4Ws8XfrntA2VvaFpd3 zWGzmL/sKbvFhLavzBafl7awW6y5+ZTF4sQtaQchj8tXvD12zrrL7nH5bKnHplWdbB6bl9R7 7L7ZwOaxs/U+q8f7fVfZPPq2rGL02Hy62uPzJjmP9gPdTAE8UXo2RfmlJakKGfnFJbZK0YYW RnqGlhZ6RiaWeobG5rFWRqZK+nY2Kak5mWWpRfp2CXoZ3ddb2Aum1Vec+nuBvYHxZ0oXIyeH hICJxK9Z9xi7GLk4hASWMkosXLWJCSIhIXF7YRMjhC0s8edaFxtE0XNGiWlz1rF2MXJwsAlo STR2soPUiAjkShzePAGsl1lgIbPEzR+sILawQKrEj+0rwWpYBFQlGhdNApvJK2At8evJDKj5 8hIzL30Hq+EEis/Z3cIGYgsJWEl0zNrMBlEvKHFy5hMWiPnyEs1bZzNPYBSYhSQ1C0lqASPT KkaR1NLi3PTcYiO94sTc4tK8dL3k/NxNjMDY3Xbs55YdjCtffdQ7xMjEwXiIUYKDWUmEt8Vf M1mINyWxsiq1KD++qDQntfgQoynQ3ROZpUST84HJI68k3tDMwNTQxMzSwNTSzFhJnNezoCNR SCA9sSQ1OzW1ILUIpo+Jg1OqgamcxX7f5YkTm6eVKHtmcfOul7m+8/qk8k/T7dWrpjQvXCn6 d9pVHsuvW1WfBxTZrYtVrF0yV+DushnKJ8SzZs5dfJs74W6wNl+TuMSPHTe6LfwEHv9KS673 2dgfEch4Uq9o+Yr1DW4OR943GS4ofxtofmDGkzcRcyZMydjw1aTobkdPSK30zyvpYp2fCibu 3q0m+VCxfifvjzs6ym5pVvmbWl+9vfo44YRQkZ202Etv9de6Ma+fSnU7rI7Zt0ZHbfvfQ/NX qN/jENzxv/Foz6KbKnlP99ULX9tatuSxsZfOuQ8eD5ziZrhOv1DbaHPx7vwrqnzmDx+tyTdZ xn3306y++1xRfNwKp9TYF5ziXTNfiaU4I9FQi7moOBEAE8XxdmYDAAA= X-CMS-MailID: 20220920091134eucas1p275585b70fab48ba1f19eb5d2cc515b6d X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20220920091134eucas1p275585b70fab48ba1f19eb5d2cc515b6d X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20220920091134eucas1p275585b70fab48ba1f19eb5d2cc515b6d References: <20220920091119.115879-1-p.raghav@samsung.com> X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Only zoned devices with power-of-2(po2) number of sectors per zone(zone size) were supported in linux but now non power-of-2(npo2) zone sizes support has been added to the block layer. Filesystems such as F2FS and btrfs have support for zoned devices with po2 zone size assumption. Before adding native support for npo2 zone sizes, it was suggested to create a dm target for npo2 zone size device to appear as a po2 zone size target so that file systems can initially work without any explicit changes. The design of this target is very simple: remap the device zone size to the zone capacity and change the zone size to be the nearest power of 2 value. For e.g., a device with a zone size/capacity of 3M will have an equivalent target layout as follows: Device layout :- zone capacity = 3M zone size = 3M |--------------|-------------| 0 3M 6M Target layout :- zone capacity=3M zone size = 4M |--------------|---|--------------|---| 0 3M 4M 7M 8M The area between target's zone capacity and zone size will be emulated in the target. The read IOs that fall in the emulated gap area will return 0 filled bio and all the other IOs in that area will result in an error. If a read IO span across the emulated area boundary, then the IOs are split across them. All other IO operations that span across the emulated area boundary will result in an error. The target can be easily created as follows: dmsetup create