[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/4] block: Drop BDS.filename
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH 0/4] block: Drop BDS.filename |
Date: |
Wed, 24 Sep 2014 21:48:23 +0200 |
The BDS filename field is generally only used when opening disk images
or emitting error or warning messages, the only exception to this rule
is the map command of qemu-img. However, using exact_filename there
instead should not be a problem. Therefore, we can drop the filename
field from the BlockDriverState and use a function instead which builds
the filename from scratch when called.
This is slower than reading a static char array but the problem of that
static array is that it may become obsolete due to changes in any
BlockDriverState or in the BDS graph. Using a function which rebuilds
the filename every time it is called resolves this problem.
The disadvantage of worse performance is negligible, on the other hand.
After patch 2 of this series, which replaces some queries of
BDS.filename by reads from somewhere else (mostly BDS.exact_filename),
the filename field is only used when a disk image is opened or some
message should be emitted, both of which cases do not suffer from the
performance hit.
Max Reitz (4):
block: Change bdrv_get_encrypted_filename()
block: Avoid BlockDriverState.filename
block: Add bdrv_filename()
block: Drop BlockDriverState.filename
block.c | 90 ++++++++++++++++++++++++++++++++---------------
block/commit.c | 4 ++-
block/gluster.c | 2 +-
block/mirror.c | 14 +++++---
block/qapi.c | 7 ++--
block/raw-posix.c | 8 ++---
block/raw-win32.c | 4 +--
block/vhdx-log.c | 5 ++-
block/vmdk.c | 22 ++++++++----
block/vpc.c | 6 ++--
blockdev.c | 21 ++++++++---
include/block/block.h | 3 +-
include/block/block_int.h | 1 -
monitor.c | 7 ++--
qemu-img.c | 2 +-
qmp.c | 4 ++-
16 files changed, 136 insertions(+), 64 deletions(-)
--
2.1.0
- [Qemu-devel] [PATCH 0/4] block: Drop BDS.filename,
Max Reitz <=