On Thu, Apr 24, 2014 at 02:34:19PM +0200, Stefan Hajnoczi wrote: > On Tue, Apr 15, 2014 at 04:00:54PM +0200, Kevin Wolf wrote: > > Am 15.04.2014 um 15:28 hat Jeff Cody geschrieben: > > > Some block drivers have multiple BlockDriver instances with identical > > > format_name fields (e.g. gluster, nbd). In those cases, the > > > protocol_name is usually the more unique identifier (e.g. gluster+tcp). > > > > > > Both qemu-img and qemu will use bdrv_iterate_format() to list the > > > supported formats when a help option is invoked. When just the > > > format_name is used, redundant listings of formats occur (e.g., > > > "Supported formats: ... gluster gluster gluster gluster ... "). > > > > > > If we prefer the protocol_name over the format_name (when the > > > protocol name exists), then that provides a more informative > > > help message: > > > > > > "Supported formats: ... gluster gluster+tcp gluster+unix > > > gluster+rdma ... " > > > > > > Signed-off-by: Jeff Cody <jc...@redhat.com> > > > > On the other hand, it means that you can't take any driver name from > > here as use it as -drive driver=... value any more. > > I think this change is problematic because of this. It doesn't make > sense that "Supported formats" lists names that actually > bdrv_find_format() is unable to find. > > blockdev_init()'s format= code will break if we make this change. > > How about we change bdrv_iterate_format() to process unique format names > only? It doesn't make sense to process duplicate format names since the > callback function has no way of identifying the specific BlockDriver > from just the duplicate format name argument. >
Yes, given the concern that blockdev_init()'s help output would be misleading with this change, I think that is probably the best method to go about it.