From: "Ed Tsai (蔡宗軒)" <Ed.Tsai@mediatek.com>
To: "Naohiro.Aota@wdc.com" <Naohiro.Aota@wdc.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"dlemoal@kernel.org" <dlemoal@kernel.org>,
"virtualization@lists.linux.dev" <virtualization@lists.linux.dev>,
"hch@lst.de" <hch@lst.de>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"axboe@kernel.dk" <axboe@kernel.dk>,
"Chun-Hung Wu (巫駿宏)" <Chun-hung.Wu@mediatek.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"dm-devel@lists.linux.dev" <dm-devel@lists.linux.dev>,
"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>,
"linux-f2fs-devel@lists.sourceforge.net"
<linux-f2fs-devel@lists.sourceforge.net>,
"stefanha@redhat.com" <stefanha@redhat.com>
Subject: Re: [PATCH 3/5] block: remove support for the host aware zone model
Date: Tue, 19 Dec 2023 08:08:03 +0000 [thread overview]
Message-ID: <dbc4a5b4296effd88ba0ef939aa324df0969545c.camel@mediatek.com> (raw)
In-Reply-To: <do3ekgymdpa4skyz5p3dp6qcqq7zuty73qrpmftszmffunnxpm@fyswyalaxzfq>
On Tue, 2023-12-19 at 07:16 +0000, Naohiro Aota wrote:
>
> External email : Please do not click links or open attachments until
> you have verified the sender or the content.
> On Mon, Dec 18, 2023 at 08:21:22AM +0000, Ed Tsai (蔡宗軒) wrote:
> > On Mon, 2023-12-18 at 15:53 +0900, Damien Le Moal wrote:
> > > On 2023/12/18 15:15, Ed Tsai (蔡宗軒) wrote:
> > > > Hi Christoph,
> > > >
> > > > some minor suggestions:
> > > >
> > > > On Sun, 2023-12-17 at 17:53 +0100, Christoph Hellwig wrote:
> > > >>
> > > >> diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
> > > >> index 198d38b53322c1..260b5b8f2b0d7e 100644
> > > >> --- a/drivers/md/dm-table.c
> > > >> +++ b/drivers/md/dm-table.c
> > > >> @@ -1579,21 +1579,18 @@ bool
> dm_table_has_no_data_devices(struct
> > > >> dm_table *t)
> > > >> return true;
> > > >> }
> > > >>
> > > >> -static int device_not_zoned_model(struct dm_target *ti,
> struct
> > > >> dm_dev *dev,
> > > >> - sector_t start, sector_t len, void
> > > >> *data)
> > > >> +static int device_not_zoned(struct dm_target *ti, struct
> dm_dev
> > > >> *dev,
> > > >> + sector_t start, sector_t len, void *data)
> > > >> {
> > > >> -struct request_queue *q = bdev_get_queue(dev->bdev);
> > > >> -enum blk_zoned_model *zoned_model = data;
> > > >> +bool *zoned = data;
> > > >>
> > > >> -return blk_queue_zoned_model(q) != *zoned_model;
> > > >> +return bdev_is_zoned(dev->bdev) != *zoned;
> > > >> }
> > > >>
> > > >> static int device_is_zoned_model(struct dm_target *ti, struct
> > > dm_dev
> > > >> *dev,
> > > >> sector_t start, sector_t len, void
> > > >> *data)
> > > >
> > > > Seems like the word "model" should also be remove here.
> > > >
> > > >> {
> > > >> -struct request_queue *q = bdev_get_queue(dev->bdev);
> > > >> -
> > > >> -return blk_queue_zoned_model(q) != BLK_ZONED_NONE;
> > > >> +return bdev_is_zoned(dev->bdev);
> > > >> }
> > > >>
> > > >> /*
> > > >> @@ -1603,8 +1600,7 @@ static int device_is_zoned_model(struct
> > > >> dm_target *ti, struct dm_dev *dev,
> > > >> * has the DM_TARGET_MIXED_ZONED_MODEL feature set, the
> devices
> > > can
> > > >> have any
> > > >> * zoned model with all zoned devices having the same zone
> size.
> > > >> */
> > > >> -static bool dm_table_supports_zoned_model(struct dm_table *t,
> > > >> - enum blk_zoned_model
> > > >> zoned_model)
> > > >> +static bool dm_table_supports_zoned(struct dm_table *t, bool
> > > zoned)
> > > >> {
> > > >> for (unsigned int i = 0; i < t->num_targets; i++) {
> > > >> struct dm_target *ti = dm_table_get_target(t, i);
> > > >> @@ -1623,11 +1619,11 @@ static bool
> > > >> dm_table_supports_zoned_model(struct dm_table *t,
> > > >>
> > > >> if (dm_target_supports_zoned_hm(ti->type)) {
> > > >> if (!ti->type->iterate_devices ||
> > > >> - ti->type->iterate_devices(ti,
> > > >> device_not_zoned_model,
> > > >> - &zoned_model))
> > > >> + ti->type->iterate_devices(ti,
> > > >> device_not_zoned,
> > > >> + &zoned))
> > > >> return false;
> > > >> } else if (!dm_target_supports_mixed_zoned_model(ti-
> > > >>> type)) {
> > > >> -if (zoned_model == BLK_ZONED_HM)
> > > >> +if (zoned)
> > > >> return false;
> > > >> }
> > > >> }
> > > >
> > > > The parameter "bool zoned" is redundant. It should be removed
> from
> > > the
> > > > above 3 functions
> >
> > The two func, is zoned and not zoned, are essentially the same.
> They
> > can be simplified into one function.
>
> Both functions are used for iterate_devices's callback in
> dm_table_supports_zoned_model(). As shown in raid_iterate_devices(),
> iterate_devices() returns 0 if the callback func calls on all the
> devices
> returns 0, or returns a non-zero result early otherwise. So, the
> iterate_devices() call returns "true" if any one of the underlying
> devices
> is (zoned|not zoned).
>
> Since we cannot create lambda as in other fancy languages, we need
> two
> functions...
Not really, there is a "void *data" can be used.
The device_is_zoned_model() is just the same as the device_not_zoned()
with (bool *)data = false.
It's very minor, so is okay to ignore my preference.
next prev parent reply other threads:[~2023-12-19 8:08 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-17 16:53 remove support for the host aware zoned model Christoph Hellwig
2023-12-17 16:53 ` [PATCH 1/5] virtio_blk: cleanup zoned device probing Christoph Hellwig
2023-12-18 9:35 ` Damien Le Moal
2023-12-18 15:13 ` Stefan Hajnoczi
2024-01-16 19:02 ` [f2fs-dev] " patchwork-bot+f2fs
2023-12-17 16:53 ` [PATCH 2/5] virtio_blk: remove the broken zone revalidation support Christoph Hellwig
2023-12-18 9:37 ` Damien Le Moal
2023-12-18 15:15 ` Stefan Hajnoczi
2023-12-17 16:53 ` [PATCH 3/5] block: remove support for the host aware zone model Christoph Hellwig
2023-12-18 6:15 ` Ed Tsai (蔡宗軒)
2023-12-18 6:53 ` Damien Le Moal
2023-12-18 8:21 ` Ed Tsai (蔡宗軒)
2023-12-18 9:33 ` Damien Le Moal
2023-12-19 7:16 ` Naohiro Aota
2023-12-19 8:08 ` Ed Tsai (蔡宗軒) [this message]
2023-12-19 8:12 ` Damien Le Moal
2023-12-19 10:38 ` hch
2023-12-19 12:16 ` hch
2023-12-18 9:48 ` Damien Le Moal
2023-12-18 14:33 ` Christoph Hellwig
2023-12-17 16:53 ` [PATCH 4/5] block: simplify disk_set_zoned Christoph Hellwig
2023-12-18 9:50 ` Damien Le Moal
2023-12-17 16:53 ` [PATCH 5/5] sd: only call disk_clear_zoned when needed Christoph Hellwig
2023-12-18 9:51 ` Damien Le Moal
2023-12-19 2:16 ` remove support for the host aware zoned model Martin K. Petersen
2023-12-20 3:18 ` Jens Axboe
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=dbc4a5b4296effd88ba0ef939aa324df0969545c.camel@mediatek.com \
--to=ed.tsai@mediatek.com \
--cc=Chun-hung.Wu@mediatek.com \
--cc=Naohiro.Aota@wdc.com \
--cc=axboe@kernel.dk \
--cc=dlemoal@kernel.org \
--cc=dm-devel@lists.linux.dev \
--cc=hch@lst.de \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=pbonzini@redhat.com \
--cc=stefanha@redhat.com \
--cc=virtualization@lists.linux.dev \
/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