All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Sam Li <faithilikerun@gmail.com>
Cc: Eric Blake <eblake@redhat.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	Dmitry Fomichev <dmitry.fomichev@wdc.com>,
	Markus Armbruster <armbru@redhat.com>,
	qemu block <qemu-block@nongnu.org>, Kevin Wolf <kwolf@redhat.com>,
	Fam Zheng <fam@euphon.net>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Hannes Reinecke <hare@suse.de>, Hanna Reitz <hreitz@redhat.com>
Subject: Re: [PATCH v9 1/7] include: add zoned device structs
Date: Fri, 16 Sep 2022 16:16:51 +0100	[thread overview]
Message-ID: <YySTY9Y+/6IplNXm@fedora> (raw)
In-Reply-To: <CAAAx-8KFxizaM7o82S_Zza6QjHB-mFf7hB_B-UbZ2E1Uq-sd7g@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2932 bytes --]

On Thu, Sep 15, 2022 at 06:06:38PM +0800, Sam Li wrote:
> Eric Blake <eblake@redhat.com> 于2022年9月15日周四 16:05写道:
> >
> > On Sat, Sep 10, 2022 at 01:27:53PM +0800, Sam Li wrote:
> > > Signed-off-by: Sam Li <faithilikerun@gmail.com>
> > > Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> > > Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
> > > ---
> > >  include/block/block-common.h | 43 ++++++++++++++++++++++++++++++++++++
> > >  1 file changed, 43 insertions(+)
> > >
> > > diff --git a/include/block/block-common.h b/include/block/block-common.h
> > > index fdb7306e78..36bd0e480e 100644
> > > --- a/include/block/block-common.h
> > > +++ b/include/block/block-common.h
> > > @@ -49,6 +49,49 @@ typedef struct BlockDriver BlockDriver;
> > >  typedef struct BdrvChild BdrvChild;
> > >  typedef struct BdrvChildClass BdrvChildClass;
> > >
> > > +typedef enum BlockZoneOp {
> > > +    BLK_ZO_OPEN,
> > > +    BLK_ZO_CLOSE,
> > > +    BLK_ZO_FINISH,
> > > +    BLK_ZO_RESET,
> > > +} BlockZoneOp;
> > > +
> > > +typedef enum BlockZoneModel {
> > > +    BLK_Z_NONE = 0x0, /* Regular block device */
> > > +    BLK_Z_HM = 0x1, /* Host-managed zoned block device */
> > > +    BLK_Z_HA = 0x2, /* Host-aware zoned block device */
> > > +} BlockZoneModel;
> > > +
> > > +typedef enum BlockZoneCondition {
> > > +    BLK_ZS_NOT_WP = 0x0,
> > > +    BLK_ZS_EMPTY = 0x1,
> > > +    BLK_ZS_IOPEN = 0x2,
> > > +    BLK_ZS_EOPEN = 0x3,
> > > +    BLK_ZS_CLOSED = 0x4,
> > > +    BLK_ZS_RDONLY = 0xD,
> > > +    BLK_ZS_FULL = 0xE,
> > > +    BLK_ZS_OFFLINE = 0xF,
> > > +} BlockZoneCondition;
> > > +
> > > +typedef enum BlockZoneType {
> > > +    BLK_ZT_CONV = 0x1, /* Conventional random writes supported */
> > > +    BLK_ZT_SWR = 0x2, /* Sequential writes required */
> > > +    BLK_ZT_SWP = 0x3, /* Sequential writes preferred */
> > > +} BlockZoneType;
> > > +
> > > +/*
> > > + * Zone descriptor data structure.
> > > + * Provides information on a zone with all position and size values in bytes.
> >
> > I'm glad that you chose bytes here for use in qemu.  But since the
> > kernel struct blk_zone uses sectors instead of bytes, is it worth
> > adding a sentence that we intentionally use bytes here, different from
> > Linux, to make it easier for reviewers to realize that scaling when
> > translating between qemu and kernel is necessary?
> 
> Sorry about the unit mistake. The zone information is in sectors which
> is the same as kernel struct blk_zone. I think adding a sentence to
> inform the sector unit makes it clear what the zone descriptor is.

I'd make the units bytes for consistency with the rest of the QEMU block
layer. For example, the MapEntry structure that "qemu-img map" reports
has names with similar fields and they are in bytes:

  struct MapEntry {
      int64_t start;
      int64_t length;

Stefan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2022-09-17 20:19 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-10  5:27 [PATCH v9 0/7] Add support for zoned device Sam Li
2022-09-10  5:27 ` [PATCH v9 1/7] include: add zoned device structs Sam Li
2022-09-15  8:05   ` Eric Blake
2022-09-15 10:06     ` Sam Li
2022-09-16 15:16       ` Stefan Hajnoczi [this message]
2022-09-19  0:50         ` Sam Li
2022-09-19  8:04           ` Damien Le Moal
2022-09-19  8:06             ` Sam Li
2022-09-10  5:27 ` [PATCH v9 2/7] file-posix: introduce helper functions for sysfs attributes Sam Li
2022-09-11  4:56   ` Damien Le Moal
2022-09-10  5:27 ` [PATCH v9 3/7] block: add block layer APIs resembling Linux ZonedBlockDevice ioctls Sam Li
2022-09-11  5:31   ` Damien Le Moal
2022-09-11  6:33     ` Sam Li
2022-09-11  6:48       ` Damien Le Moal
2022-09-11  7:30         ` Sam Li
2022-09-11  7:02   ` Damien Le Moal
2022-09-16 16:00   ` Stefan Hajnoczi
2022-09-20  8:51   ` Klaus Jensen
2022-09-20 13:21     ` Sam Li
2022-09-21  4:44     ` Damien Le Moal
2022-09-21  9:08       ` Klaus Jensen
2022-09-10  5:27 ` [PATCH v9 4/7] raw-format: add zone operations to pass through requests Sam Li
2022-09-11  5:32   ` Damien Le Moal
2022-09-10  5:27 ` [PATCH v9 5/7] config: add check to block layer Sam Li
2022-09-11  5:34   ` Damien Le Moal
2022-09-11  6:54     ` Sam Li
2022-09-11  7:05       ` Damien Le Moal
2022-09-16 15:22   ` Stefan Hajnoczi
2022-09-10  5:27 ` [PATCH v9 6/7] qemu-iotests: test new zone operations Sam Li
2022-09-10  5:27 ` [PATCH v9 7/7] docs/zoned-storage: add zoned device documentation Sam Li
2022-09-11  5:38   ` Damien Le Moal

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=YySTY9Y+/6IplNXm@fedora \
    --to=stefanha@redhat.com \
    --cc=armbru@redhat.com \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=dmitry.fomichev@wdc.com \
    --cc=eblake@redhat.com \
    --cc=faithilikerun@gmail.com \
    --cc=fam@euphon.net \
    --cc=hare@suse.de \
    --cc=hreitz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.