On Thu, Jul 20, 2023 at 04:00:24PM +0200, Hanna Czenczek wrote: > For image creation code, we have central fallback code for protocols > that do not support creating new images (like NBD or iscsi). So for > them, you can only specify existing paths/exports that are overwritten > to make clean new images. In such a case, if the given path cannot be > opened (assuming a pre-existing image there), we print an error message > that tries to describe what is going on: That with this protocol, you > cannot create new images, but only overwrite existing ones; and the > given path could not be opened as a pre-existing image. > > However, the current message is confusing, because it does not say that > the protocol in question does not support creating new images, but > instead that "image creation" is unsupported. This can be interpreted > to mean that `qemu-img create` will not work in principle, which is not > true. Be more verbose for clarity. > > Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2217204 > Signed-off-by: Hanna Czenczek <hre...@redhat.com> > --- > block.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-)
Definitely more vebose, but I don't see that as a bad thing. Reviewed-by: Eric Blake <ebl...@redhat.com> > > diff --git a/block.c b/block.c > index a307c151a8..f530dd9c02 100644 > --- a/block.c > +++ b/block.c > @@ -661,8 +661,10 @@ int coroutine_fn bdrv_co_create_opts_simple(BlockDriver > *drv, > blk = blk_co_new_open(filename, NULL, options, > BDRV_O_RDWR | BDRV_O_RESIZE, errp); > if (!blk) { > - error_prepend(errp, "Protocol driver '%s' does not support image " > - "creation, and opening the image failed: ", > + error_prepend(errp, "Protocol driver '%s' does not support creating " > + "new images, so an existing image must be selected as " > + "the target; however, opening the given target as an " > + "existing image failed: ", > drv->format_name); > return -EINVAL; > } > -- > 2.41.0 > > -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org