[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1] block/raw-format: implement .bdrv_get_specific_info handl
From: |
Kevin Wolf |
Subject: |
Re: [PATCH v1] block/raw-format: implement .bdrv_get_specific_info handler |
Date: |
Wed, 7 Jul 2021 14:31:13 +0200 |
Am 07.07.2021 um 10:50 hat Or Ozeri geschrieben:
> Would you suggest to do this child traversal on bdrv_query_image_info, and
> have
> it returned as part of the ImageInfo struct?
> In that case, I would add *driver-specific to ImageInfo, in addition to the
> existing *format-specific?
No, extending ImageInfo with a single additonal field wouldn't be
generic either. It's not set in stone that your graph must consist of
exactly two block nodes.
> Or should I just do the traversal in img_info (qemu-img.c), avoiding
> the change to the ImageInfo struct?
Yes, img_info() or bdrv_image_info_dump() doing the traversal through
the chain is what I had in mind. Maybe let img_info() collect everything
and then pass a list of ImageInfos instead of just a single one to
bdrv_image_info_dump().
Kevin
> -----"Kevin Wolf" <[1]kwolf@redhat.com> wrote: -----
> To: "Or Ozeri" <[2]oro@il.ibm.com>
> From: "Kevin Wolf" <[3]kwolf@redhat.com>
> Date: 07/07/2021 10:52AM
> Cc: [4]qemu-devel@nongnu.org, [5]qemu-block@nongnu.org, [6]
> to.my.trociny@gmail.com, [7]dannyh@il.ibm.com, [8]berrange@redhat.com, [9]
> idryomov@gmail.com
> Subject: [EXTERNAL] Re: [PATCH v1] block/raw-format: implement
> .bdrv_get_specific_info handler
>
> Am 07.07.2021 um 07:35 hat Or Ozeri geschrieben:
> > When using the raw format, allow exposing specific info by the underlying
> storage.
> > In particular, this will enable RBD images using the raw format to indicate
> > a LUKS2 encrypted image in the output of qemu-img info.
> >
> > Signed-off-by: Or Ozeri <[10]oro@il.ibm.com>
>
> This doesn't feel right because it would introduce an inconsistency
> (drivers are supposed to return information about their layer, and all
> drivers except raw would still do so) and therefore wouldn't even solve
> the full problem: For non-raw images, the information isn't any less
> useful, but it still wouldn't be available.
>
> I believe the information is already available in QMP, using
> query-named-block-nodes, because then you get a separate BlockDeviceInfo
> (which contains ImageInfoSpecific) for each node, including the protocol
> node.
>
> So maybe what we need to do is change qemu-img to iterate the node chain
> (possibly using bdrv_primary_bs()) and print the ImageInfoSpecific for
> each layer if it's present, while indicating which part is for which
> layer.
>
> So the output could look like this:
>
> ...
> Driver specific information (qcow2):
> compat: 0.10
> compression type: zlib
> refcount bits: 16
> Driver specific information (rbd):
> encryption format: luks
>
> Kevin
>
>
>
>
> References:
>
> [1] mailto:kwolf@redhat.com
> [2] mailto:oro@il.ibm.com
> [3] mailto:kwolf@redhat.com
> [4] mailto:qemu-devel@nongnu.org
> [5] mailto:qemu-block@nongnu.org
> [6] mailto:to.my.trociny@gmail.com
> [7] mailto:dannyh@il.ibm.com
> [8] mailto:berrange@redhat.com
> [9] mailto:idryomov@gmail.com
> [10] mailto:oro@il.ibm.com