Commit 51de97605b183fe5a84f96f411cfc99ba6bbb6b1
1 parent
51d7c00c
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
Showing
3 changed files
with
6 additions
and
4 deletions
block.c
... | ... | @@ -1011,12 +1011,12 @@ BlockDriverState *bdrv_find(const char *name) |
1011 | 1011 | return NULL; |
1012 | 1012 | } |
1013 | 1013 | |
1014 | -void bdrv_iterate(void (*it)(void *opaque, const char *name), void *opaque) | |
1014 | +void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs), void *opaque) | |
1015 | 1015 | { |
1016 | 1016 | BlockDriverState *bs; |
1017 | 1017 | |
1018 | 1018 | for (bs = bdrv_first; bs != NULL; bs = bs->next) { |
1019 | - it(opaque, bs->device_name); | |
1019 | + it(opaque, bs); | |
1020 | 1020 | } |
1021 | 1021 | } |
1022 | 1022 | ... | ... |
block.h
... | ... | @@ -141,7 +141,8 @@ void bdrv_set_change_cb(BlockDriverState *bs, |
141 | 141 | void (*change_cb)(void *opaque), void *opaque); |
142 | 142 | void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size); |
143 | 143 | BlockDriverState *bdrv_find(const char *name); |
144 | -void bdrv_iterate(void (*it)(void *opaque, const char *name), void *opaque); | |
144 | +void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs), | |
145 | + void *opaque); | |
145 | 146 | int bdrv_is_encrypted(BlockDriverState *bs); |
146 | 147 | int bdrv_set_key(BlockDriverState *bs, const char *key); |
147 | 148 | void bdrv_iterate_format(void (*it)(void *opaque, const char *name), | ... | ... |
monitor.c
... | ... | @@ -2679,8 +2679,9 @@ static void file_completion(const char *input) |
2679 | 2679 | closedir(ffs); |
2680 | 2680 | } |
2681 | 2681 | |
2682 | -static void block_completion_it(void *opaque, const char *name) | |
2682 | +static void block_completion_it(void *opaque, BlockDriverState *bs) | |
2683 | 2683 | { |
2684 | + const char *name = bdrv_get_device_name(bs); | |
2684 | 2685 | const char *input = opaque; |
2685 | 2686 | |
2686 | 2687 | if (input[0] == '\0' || | ... | ... |