From: Mike Snitzer <snitzer@redhat.com>
To: Pankaj Raghav <p.raghav@samsung.com>
Cc: snitzer@kernel.org, axboe@kernel.dk, agk@redhat.com, hch@lst.de,
damien.lemoal@opensource.wdc.com,
Damien Le Moal <damien.lemoal@wdc.com>,
bvanassche@acm.org, pankydev8@gmail.com, gost.dev@samsung.com,
linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org,
linux-block@vger.kernel.org, dm-devel@redhat.com,
Johannes Thumshirn <johannes.thumshirn@wdc.com>,
jaegeuk@kernel.org, matias.bjorling@wdc.com
Subject: Re: [PATCH v15 13/13] dm: add power-of-2 target for zoned devices with non power-of-2 zone sizes
Date: Wed, 28 Sep 2022 10:22:36 -0400 [thread overview]
Message-ID: <YzRYrNBB35fLjAO4@redhat.com> (raw)
In-Reply-To: <20220923173618.6899-14-p.raghav@samsung.com>
On Fri, Sep 23 2022 at 1:36P -0400,
Pankaj Raghav <p.raghav@samsung.com> wrote:
> 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 <label> --table '0 <size_sects> po2zoned /dev/nvme<id>'
>
> The target does not support partial mapping of the underlying
> device as there is no use-case for it.
>
> Note:
> This target is not related to dm-zoned target, which exposes a zoned block
> device as a regular block device without any write constraint.
>
> This target only exposes a different zone size than the underlying device.
> The underlying device's other constraints will be directly exposed to the
> target.
>
> Signed-off-by: Pankaj Raghav <p.raghav@samsung.com>
> Suggested-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> Suggested-by: Damien Le Moal <damien.lemoal@wdc.com>
> Suggested-by: Hannes Reinecke <hare@suse.de>
If/when this series is accepted by Jens and others the DM changes can
just be included along with the rest of the series.
Reviewed-by: Mike Snitzer <snitzer@kernel.org>
next prev parent reply other threads:[~2022-09-28 14:22 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20220923173619eucas1p13e645adbe1c8eb62fb48b52c0248ed65@eucas1p1.samsung.com>
2022-09-23 17:36 ` [PATCH v15 00/13] support zoned block devices with non-power-of-2 zone sizes Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 01/13] block: make bdev_nr_zones and disk_zone_no generic for npo2 zone size Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 02/13] block: rearrange bdev_{is_zoned,zone_sectors,get_queue} helper in blkdev.h Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 03/13] block: allow blk-zoned devices to have non-power-of-2 zone size Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 04/13] nvmet: Allow ZNS target to support non-power_of_2 zone sizes Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 05/13] nvme: zns: Allow ZNS drives that have non-power_of_2 zone size Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 06/13] null_blk: allow zoned devices with non power-of-2 zone sizes Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 07/13] zonefs: allow non power of 2 zoned devices Pankaj Raghav
2022-09-28 18:10 ` Bart Van Assche
2022-09-23 17:36 ` [PATCH v15 08/13] dm-zoned: ensure only power of 2 zone sizes are allowed Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 09/13] dm-zone: use generic helpers to calculate offset from zone start Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 10/13] dm-table: allow zoned devices with non power-of-2 zone sizes Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 11/13] dm: call dm_zone_endio after the target endio callback for zoned devices Pankaj Raghav
2022-09-28 18:13 ` Bart Van Assche
2022-09-23 17:36 ` [PATCH v15 12/13] dm: introduce DM_EMULATED_ZONES target feature flag Pankaj Raghav
2022-09-23 17:36 ` [PATCH v15 13/13] dm: add power-of-2 target for zoned devices with non power-of-2 zone sizes Pankaj Raghav
2022-09-27 16:07 ` Pankaj Raghav
2022-09-28 14:22 ` Mike Snitzer [this message]
2022-09-29 6:31 ` [PATCH v15 00/13] support zoned block devices with non-power-of-2 " Pankaj Raghav
2022-09-30 15:13 ` Jens Axboe
2022-09-30 19:38 ` Bart Van Assche
2022-09-30 21:24 ` Jens Axboe
2022-10-24 19:02 ` Bart Van Assche
2022-10-01 0:45 ` Damien Le Moal
2022-10-01 2:14 ` Bart Van Assche
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YzRYrNBB35fLjAO4@redhat.com \
--to=snitzer@redhat.com \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=bvanassche@acm.org \
--cc=damien.lemoal@opensource.wdc.com \
--cc=damien.lemoal@wdc.com \
--cc=dm-devel@redhat.com \
--cc=gost.dev@samsung.com \
--cc=hch@lst.de \
--cc=jaegeuk@kernel.org \
--cc=johannes.thumshirn@wdc.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=matias.bjorling@wdc.com \
--cc=p.raghav@samsung.com \
--cc=pankydev8@gmail.com \
--cc=snitzer@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox