Re: [PATCH v5 2/8] block-backend: Introduce blk_get_guest_block_size()

2022-05-19 Thread Yongji Xie
On Wed, May 18, 2022 at 9:17 PM Stefan Hajnoczi  wrote:
>
> On Wed, May 04, 2022 at 03:40:45PM +0800, Xie Yongji wrote:
> > Support getting the guest block size for the block backend.
> > It's needed for the following commit.
> >
> > Signed-off-by: Xie Yongji 
> > ---
> >  block/block-backend.c | 6 ++
> >  include/sysemu/block-backend-io.h | 1 +
> >  2 files changed, 7 insertions(+)
> >
> > diff --git a/block/block-backend.c b/block/block-backend.c
> > index 35457a6a1d..1582ff81c9 100644
> > --- a/block/block-backend.c
> > +++ b/block/block-backend.c
> > @@ -2106,6 +2106,12 @@ void blk_set_guest_block_size(BlockBackend *blk, int 
> > align)
> >  blk->guest_block_size = align;
> >  }
> >
> > +int blk_get_guest_block_size(BlockBackend *blk)
> > +{
> > +IO_CODE();
> > +return blk->guest_block_size;
>
> I have sent a patch to remove blk->guest_block_size because this field
> is currently unused.
>

OK.

> I think there is a cleaner way for this patch series to store the guest
> logical_block_size (see next patch). Stashing it in BlockBackend was
> attractive because virtio-blk-handler.c lacks a struct to store its
> parameters (writable, serial, logical_block_size), but if such a struct
> is introduced then there's no need to stash it in BlockBackend.
>

Looks good to me.

Thanks,
Yongji



Re: [PATCH v5 2/8] block-backend: Introduce blk_get_guest_block_size()

2022-05-18 Thread Stefan Hajnoczi
On Wed, May 04, 2022 at 03:40:45PM +0800, Xie Yongji wrote:
> Support getting the guest block size for the block backend.
> It's needed for the following commit.
> 
> Signed-off-by: Xie Yongji 
> ---
>  block/block-backend.c | 6 ++
>  include/sysemu/block-backend-io.h | 1 +
>  2 files changed, 7 insertions(+)
> 
> diff --git a/block/block-backend.c b/block/block-backend.c
> index 35457a6a1d..1582ff81c9 100644
> --- a/block/block-backend.c
> +++ b/block/block-backend.c
> @@ -2106,6 +2106,12 @@ void blk_set_guest_block_size(BlockBackend *blk, int 
> align)
>  blk->guest_block_size = align;
>  }
>  
> +int blk_get_guest_block_size(BlockBackend *blk)
> +{
> +IO_CODE();
> +return blk->guest_block_size;

I have sent a patch to remove blk->guest_block_size because this field
is currently unused.

I think there is a cleaner way for this patch series to store the guest
logical_block_size (see next patch). Stashing it in BlockBackend was
attractive because virtio-blk-handler.c lacks a struct to store its
parameters (writable, serial, logical_block_size), but if such a struct
is introduced then there's no need to stash it in BlockBackend.

Stefan


signature.asc
Description: PGP signature


[PATCH v5 2/8] block-backend: Introduce blk_get_guest_block_size()

2022-05-04 Thread Xie Yongji
Support getting the guest block size for the block backend.
It's needed for the following commit.

Signed-off-by: Xie Yongji 
---
 block/block-backend.c | 6 ++
 include/sysemu/block-backend-io.h | 1 +
 2 files changed, 7 insertions(+)

diff --git a/block/block-backend.c b/block/block-backend.c
index 35457a6a1d..1582ff81c9 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -2106,6 +2106,12 @@ void blk_set_guest_block_size(BlockBackend *blk, int 
align)
 blk->guest_block_size = align;
 }
 
+int blk_get_guest_block_size(BlockBackend *blk)
+{
+IO_CODE();
+return blk->guest_block_size;
+}
+
 void *blk_try_blockalign(BlockBackend *blk, size_t size)
 {
 IO_CODE();
diff --git a/include/sysemu/block-backend-io.h 
b/include/sysemu/block-backend-io.h
index 6517c39295..7600822196 100644
--- a/include/sysemu/block-backend-io.h
+++ b/include/sysemu/block-backend-io.h
@@ -73,6 +73,7 @@ void blk_iostatus_set_err(BlockBackend *blk, int error);
 int blk_get_max_iov(BlockBackend *blk);
 int blk_get_max_hw_iov(BlockBackend *blk);
 void blk_set_guest_block_size(BlockBackend *blk, int align);
+int blk_get_guest_block_size(BlockBackend *blk);
 
 void blk_io_plug(BlockBackend *blk);
 void blk_io_unplug(BlockBackend *blk);
-- 
2.20.1