[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 32/39] block: Replace bdrv_get_format() by bdrv_get_
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 32/39] block: Replace bdrv_get_format() by bdrv_get_format_name() |
Date: |
Fri, 15 Jun 2012 15:33:32 +0200 |
From: Markus Armbruster <address@hidden>
So callers don't need to know anything about maximum name length.
Returning a pointer is safe, because the name string lives as long as
the block driver it names, and block drivers don't die.
Requested by Peter Maydell.
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block.c | 11 ++++-------
block.h | 2 +-
qemu-img.c | 5 ++---
3 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/block.c b/block.c
index 48528fd..0acdcac 100644
--- a/block.c
+++ b/block.c
@@ -1035,7 +1035,8 @@ void bdrv_append(BlockDriverState *bs_new,
BlockDriverState *bs_top)
* swapping bs_new and bs_top contents. */
tmp.backing_hd = bs_new;
pstrcpy(tmp.backing_file, sizeof(tmp.backing_file), bs_top->filename);
- bdrv_get_format(bs_top, tmp.backing_format, sizeof(tmp.backing_format));
+ pstrcpy(tmp.backing_format, sizeof(tmp.backing_format),
+ bs_top->drv ? bs_top->drv->format_name : "");
/* swap contents of the fixed new bs and the current top */
*bs_new = *bs_top;
@@ -2428,13 +2429,9 @@ int bdrv_set_key(BlockDriverState *bs, const char *key)
return ret;
}
-void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size)
+const char *bdrv_get_format_name(BlockDriverState *bs)
{
- if (!bs->drv) {
- buf[0] = '\0';
- } else {
- pstrcpy(buf, buf_size, bs->drv->format_name);
- }
+ return bs->drv ? bs->drv->format_name : NULL;
}
void bdrv_iterate_format(void (*it)(void *opaque, const char *name),
diff --git a/block.h b/block.h
index 43bfd99..d135652 100644
--- a/block.h
+++ b/block.h
@@ -296,7 +296,7 @@ int bdrv_is_inserted(BlockDriverState *bs);
int bdrv_media_changed(BlockDriverState *bs);
void bdrv_lock_medium(BlockDriverState *bs, bool locked);
void bdrv_eject(BlockDriverState *bs, bool eject_flag);
-void bdrv_get_format(BlockDriverState *bs, char *buf, int buf_size);
+const char *bdrv_get_format_name(BlockDriverState *bs);
BlockDriverState *bdrv_find(const char *name);
BlockDriverState *bdrv_next(BlockDriverState *bs);
void bdrv_iterate(void (*it)(void *opaque, BlockDriverState *bs),
diff --git a/qemu-img.c b/qemu-img.c
index 9336c86..80cfb9b 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -1107,7 +1107,7 @@ static int img_info(int argc, char **argv)
int c;
const char *filename, *fmt;
BlockDriverState *bs;
- char fmt_name[128], size_buf[128], dsize_buf[128];
+ char size_buf[128], dsize_buf[128];
uint64_t total_sectors;
int64_t allocated_size;
char backing_filename[1024];
@@ -1139,7 +1139,6 @@ static int img_info(int argc, char **argv)
if (!bs) {
return 1;
}
- bdrv_get_format(bs, fmt_name, sizeof(fmt_name));
bdrv_get_geometry(bs, &total_sectors);
get_human_readable_size(size_buf, sizeof(size_buf), total_sectors * 512);
allocated_size = bdrv_get_allocated_file_size(bs);
@@ -1153,7 +1152,7 @@ static int img_info(int argc, char **argv)
"file format: %s\n"
"virtual size: %s (%" PRId64 " bytes)\n"
"disk size: %s\n",
- filename, fmt_name, size_buf,
+ filename, bdrv_get_format_name(bs), size_buf,
(total_sectors * 512),
dsize_buf);
if (bdrv_is_encrypted(bs)) {
--
1.7.6.5
- [Qemu-devel] [PATCH 39/39] qemu-iotests: add 036 autoclear feature bit test, (continued)
- [Qemu-devel] [PATCH 39/39] qemu-iotests: add 036 autoclear feature bit test, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 30/39] qemu-iotests: COW with many AIO requests on the same cluster, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 31/39] qemu-img: document qed format on qemu-img man page, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 35/39] qcow2: fix autoclear image header update, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 37/39] fdc-test: introduced qtest read_without_media, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 28/39] qcow2: Fix avail_sectors in cluster allocation code, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 24/39] block: always open drivers in writeback mode, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 33/39] xen: Don't change -drive if=xen device name during machine init, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 29/39] qemu-iotests: Some backing file COW tests, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 26/39] qcow2: always operate caches in writeback mode, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 32/39] block: Replace bdrv_get_format() by bdrv_get_format_name(),
Kevin Wolf <=
- [Qemu-devel] [PATCH 34/39] xen: Don't peek behind the BlockDriverState abstraction, Kevin Wolf, 2012/06/15
- [Qemu-devel] [PATCH 27/39] qcow2: Simplify calculation for COW area at the end, Kevin Wolf, 2012/06/15
- Re: [Qemu-devel] [PULL 00/39] Block patches, Anthony Liguori, 2012/06/20