block: Improve bdrv_iterate (Jan Kiszka)
Make bdrv_iterate more useful by passing the BlockDriverState to the iterator instead of the device name. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6703 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
51d7c00c14
commit
51de97605b
4
block.c
4
block.c
@ -1011,12 +1011,12 @@ BlockDriverState *bdrv_find(const char *name)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void bdrv_iterate(void (*it)(void *opaque, const char *name), void *opaque)
|
void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs), void *opaque)
|
||||||
{
|
{
|
||||||
BlockDriverState *bs;
|
BlockDriverState *bs;
|
||||||
|
|
||||||
for (bs = bdrv_first; bs != NULL; bs = bs->next) {
|
for (bs = bdrv_first; bs != NULL; bs = bs->next) {
|
||||||
it(opaque, bs->device_name);
|
it(opaque, bs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
block.h
3
block.h
@ -141,7 +141,8 @@ void bdrv_set_change_cb(BlockDriverState *bs,
|
|||||||
void (*change_cb)(void *opaque), void *opaque);
|
void (*change_cb)(void *opaque), void *opaque);
|
||||||
void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size);
|
void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size);
|
||||||
BlockDriverState *bdrv_find(const char *name);
|
BlockDriverState *bdrv_find(const char *name);
|
||||||
void bdrv_iterate(void (*it)(void *opaque, const char *name), void *opaque);
|
void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs),
|
||||||
|
void *opaque);
|
||||||
int bdrv_is_encrypted(BlockDriverState *bs);
|
int bdrv_is_encrypted(BlockDriverState *bs);
|
||||||
int bdrv_set_key(BlockDriverState *bs, const char *key);
|
int bdrv_set_key(BlockDriverState *bs, const char *key);
|
||||||
void bdrv_iterate_format(void (*it)(void *opaque, const char *name),
|
void bdrv_iterate_format(void (*it)(void *opaque, const char *name),
|
||||||
|
@ -2679,8 +2679,9 @@ static void file_completion(const char *input)
|
|||||||
closedir(ffs);
|
closedir(ffs);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void block_completion_it(void *opaque, const char *name)
|
static void block_completion_it(void *opaque, BlockDriverState *bs)
|
||||||
{
|
{
|
||||||
|
const char *name = bdrv_get_device_name(bs);
|
||||||
const char *input = opaque;
|
const char *input = opaque;
|
||||||
|
|
||||||
if (input[0] == '\0' ||
|
if (input[0] == '\0' ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user