On Jul 30 00:29, Minwoo Im wrote: > Klaus, > Hi Minwoo,
Thanks for the reviews and welcome to the party! :) > On 20-07-20 13:37:36, Klaus Jensen wrote: > > From: Klaus Jensen <k.jen...@samsung.com> > > > > Remove the has_sg member from NvmeRequest since it's redundant. > > > > Also, make sure the request iov is destroyed at completion time. > > > > Signed-off-by: Klaus Jensen <k.jen...@samsung.com> > > Reviewed-by: Maxim Levitsky <mlevi...@redhat.com> > > --- > > hw/block/nvme.c | 11 ++++++----- > > hw/block/nvme.h | 1 - > > 2 files changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > > index cb236d1c8c46..6a1a1626b87b 100644 > > --- a/hw/block/nvme.c > > +++ b/hw/block/nvme.c > > @@ -548,16 +548,20 @@ static void nvme_rw_cb(void *opaque, int ret) > > block_acct_failed(blk_get_stats(n->conf.blk), &req->acct); > > req->status = NVME_INTERNAL_DEV_ERROR; > > } > > - if (req->has_sg) { > > + > > + if (req->qsg.nalloc) { > > Personally, I prefer has_xxx or is_xxx to check whether the request is > based on sg or iov as an inline function, but 'nalloc' is also fine to > figure out the meaning of purpose here. > What I really want to do is get rid of this duality with qsg and iovs at some point. I kinda wanna get rid of the dma helpers and the qsg entirely and do the DMA handling directly. Maybe an `int flags` member in NvmeRequest would be better for this, such as NVME_REQ_DMA etc. > > qemu_sglist_destroy(&req->qsg); > > } > > + if (req->iov.nalloc) { > > + qemu_iovec_destroy(&req->iov); > > + } > > + > > Maybe this can be in a separated commit? > Yeah. I guess whenever a commit message includes "Also, ..." you really should factor the change out ;) I'll split it. > Otherwise, It looks good to me. > > Thanks, > Does that mean I can add your R-b? :)