qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: Anton Nefedov <anton.nefedov@virtuozzo.com>, qemu-block@nongnu.org
Cc: kwolf@redhat.com, vsementsov@virtuozzo.com, berto@igalia.com,
	den@virtuozzo.com, qemu-devel@nongnu.org, pbonzini@redhat.com,
	jsnow@redhat.com
Subject: Re: [Qemu-devel] [PATCH v8 5/9] scsi: store unmap offset and nb_sectors in request struct
Date: Mon, 12 Aug 2019 19:58:14 +0200	[thread overview]
Message-ID: <b0af8e55-81a9-d9c4-e65e-04a6cec802b6@redhat.com> (raw)
In-Reply-To: <20190516143314.81302-6-anton.nefedov@virtuozzo.com>


[-- Attachment #1.1: Type: text/plain, Size: 2426 bytes --]

On 16.05.19 16:33, Anton Nefedov wrote:
> it allows to report it in the error handler
> 
> Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com>
> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> Reviewed-by: Alberto Garcia <berto@igalia.com>
> ---
>  hw/scsi/scsi-disk.c | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)

(Sorry for the late reply :-/)

> diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
> index e7e865ab3b..b43254103c 100644
> --- a/hw/scsi/scsi-disk.c
> +++ b/hw/scsi/scsi-disk.c
> @@ -1602,8 +1602,6 @@ static void scsi_unmap_complete_noio(UnmapCBData *data, int ret)
>  {
>      SCSIDiskReq *r = data->r;
>      SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev);
> -    uint64_t sector_num;
> -    uint32_t nb_sectors;
>  
>      assert(r->req.aiocb == NULL);
>      if (scsi_disk_req_check_error(r, ret, false)) {
> @@ -1611,16 +1609,16 @@ static void scsi_unmap_complete_noio(UnmapCBData *data, int ret)
>      }
>  
>      if (data->count > 0) {
> -        sector_num = ldq_be_p(&data->inbuf[0]);
> -        nb_sectors = ldl_be_p(&data->inbuf[8]) & 0xffffffffULL;
> -        if (!check_lba_range(s, sector_num, nb_sectors)) {
> +        r->sector = ldq_be_p(&data->inbuf[0]);
> +        r->sector_count = ldl_be_p(&data->inbuf[8]) & 0xffffffffULL;
> +        if (!check_lba_range(s, r->sector, r->sector_count)) {
>              scsi_check_condition(r, SENSE_CODE(LBA_OUT_OF_RANGE));
>              goto done;
>          }
>  
>          r->req.aiocb = blk_aio_pdiscard(s->qdev.conf.blk,
> -                                        sector_num * s->qdev.blocksize,
> -                                        nb_sectors * s->qdev.blocksize,
> +                                        r->sector * s->qdev.blocksize,
> +                                        r->sector_count * s->qdev.blocksize,

This looks to me like these are not necessarily in terms of 512-byte
sectors.  It doesn’t seem to make anything technically wrong, because
patch 7 takes that into account.

But it’s still weird if everything else in this file treats these fields
as being in terms of 512 byte sectors (and they are actually defined
this way in SCSIDiskReq).

Max

>                                          scsi_unmap_complete, data);
>          data->count--;
>          data->inbuf += 16;
> 



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

  reply	other threads:[~2019-08-12 17:59 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-16 14:33 [Qemu-devel] [PATCH v8 0/9] discard blockstats Anton Nefedov
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 1/9] qapi: group BlockDeviceStats fields Anton Nefedov
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 2/9] qapi: add unmap to BlockDeviceStats Anton Nefedov
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 3/9] block: add empty account cookie type Anton Nefedov
2019-05-16 15:34   ` Vladimir Sementsov-Ogievskiy
2019-05-16 16:00     ` Anton Nefedov
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 4/9] ide: account UNMAP (TRIM) operations Anton Nefedov
2019-08-12 18:16   ` Max Reitz
2019-08-21 11:06     ` Anton Nefedov
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 5/9] scsi: store unmap offset and nb_sectors in request struct Anton Nefedov
2019-08-12 17:58   ` Max Reitz [this message]
2019-08-21 11:03     ` Anton Nefedov
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 6/9] scsi: move unmap error checking to the complete callback Anton Nefedov
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 7/9] scsi: account unmap operations Anton Nefedov
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 8/9] file-posix: account discard operations Anton Nefedov
2019-05-16 15:23   ` Vladimir Sementsov-Ogievskiy
2019-05-16 14:33 ` [Qemu-devel] [PATCH v8 9/9] qapi: query-blockstat: add driver specific file-posix stats Anton Nefedov
2019-08-12 19:04   ` Max Reitz
2019-08-21 11:00     ` Anton Nefedov
2019-08-21 11:21       ` Max Reitz
2019-08-21 12:22         ` Anton Nefedov

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=b0af8e55-81a9-d9c4-e65e-04a6cec802b6@redhat.com \
    --to=mreitz@redhat.com \
    --cc=anton.nefedov@virtuozzo.com \
    --cc=berto@igalia.com \
    --cc=den@virtuozzo.com \
    --cc=jsnow@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /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;
as well as URLs for NNTP newsgroup(s).