On Tue, Jun 9, 2026 at 6:01 PM Stefan Hajnoczi <[email protected]> wrote:
>
> On Mon, Jun 08, 2026 at 02:00:03PM +0200, Niklas Cassel wrote:
> > Hello Stefan,
> >
> > On Wed, Jun 03, 2026 at 04:41:50PM -0400, Stefan Hajnoczi wrote:
> > > On Mon, Jun 01, 2026 at 11:44:03PM +0200, Sam Li wrote:
> > > > diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
> > > > index 9cb9f1fb2b..285db19ac7 100644
> > > > --- a/hw/block/virtio-blk.c
> > > > +++ b/hw/block/virtio-blk.c
> > > > @@ -303,17 +306,34 @@ static void 
> > > > virtio_blk_submit_multireq(VirtIOBlock *s, MultiReqBuffer *mrb)
> > > >      for (i = 0; i < mrb->num_reqs; i++) {
> > > >          VirtIOBlockReq *req = mrb->reqs[i];
> > > >          if (num_reqs > 0) {
> > > > +            zone_cross = false;
> > > > +
> > > > +            /*
> > > > +             * On zoned backends, a single backend write must not span 
> > > > a zone
> > >
> > > This code handles both reads and writes but the comment only mentions
> > > writes. I think reads are allowed to span zones, so should there be a
> > > check that mrb->is_write?
> >
> > From the Virtual I/O Device (VIRTIO) Version 1.4 specification:
> >
> > "If a VIRTIO_BLK_T_ZONE_APPEND request, a VIRTIO_BLK_T_IN request or a
> > VIRTIO_BLK_T_OUT request issued to a SWR zone has the range that has
> > sectors in more than one zone, then the request SHALL be completed with
> > VIRTIO_BLK_S_ZONE_INVALID_CMD value in the field status."
> >
> >
> > Thus, while this is allowed to read past the zone boundary in many zoned
> > specifications, e.g. in both ZAC and ZBC, when the "Read Across Zone
> > Boundaries bit" is set, is seems like it is never allowed to do so in
> > VIRTIO.
>
> Hi Niklas,
> Thanks for pointing this out. So no change is needed here.
>
> I noticed that NVMe has a Read Across Zone Boundaries bit to indicate
> whether or not this is allowed. virtio-blk could add a feature bit to
> offer the same functionality in the future. This would come in handy if
> existing applications depend on reading across zones.

Sounds like a good addition to the persistent metadata for ZNS emulation series?

Sam

Reply via email to