]> git.proxmox.com Git - mirror_qemu.git/commit - block.c
block: Ignore duplicate or NULL format_name in bdrv_iterate_format
authorJeff Cody <jcody@redhat.com>
Mon, 28 Apr 2014 22:29:54 +0000 (18:29 -0400)
committerKevin Wolf <kwolf@redhat.com>
Tue, 29 Apr 2014 09:58:07 +0000 (11:58 +0200)
commite855e4fb7b97f7f605e1f44427b98022e39e6f8f
tree321155c59aa368e5cc8115427e0a89b552a70ddf
parent5f6979cba9f63480d38e9deb72b565c6781ac0e8
block: Ignore duplicate or NULL format_name in bdrv_iterate_format

Some block drivers have multiple BlockDriver instances with identical
format_name fields (e.g. gluster, nbd).

Both qemu-img and qemu will use bdrv_iterate_format() to list the
supported formats when a help option is invoked.  As protocols and
formats may register multiple drivers, redundant listings of formats
occur (e.g., "Supported formats: ... gluster gluster gluster gluster ...
").

Since the list of driver formats will be small, this performs a simple
linear search on format_name, and ignores any duplicates.

The end result change is that the iterator will no longer receive
duplicate string names, nor will it receive NULL pointers.

Signed-off-by: Jeff Cody <jcody@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c