From: Kevin Wolf <kwolf@redhat.com>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com
Subject: [Qemu-devel] [PULL 08/19] block: Get full backing filename from string
Date: Fri, 19 Dec 2014 17:34:58 +0100 [thread overview]
Message-ID: <1419006909-1781-9-git-send-email-kwolf@redhat.com> (raw)
In-Reply-To: <1419006909-1781-1-git-send-email-kwolf@redhat.com>
From: Max Reitz <mreitz@redhat.com>
Introduce bdrv_get_full_backing_filename_from_filename(), a function
which takes the name of the backed file and a potentially relative
backing filename to produce the full (absolute) backing filename.
Use this function from bdrv_get_full_backing_filename().
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
block.c | 16 ++++++++++++----
include/block/block.h | 3 +++
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/block.c b/block.c
index 58f8042..86f2faa 100644
--- a/block.c
+++ b/block.c
@@ -303,15 +303,23 @@ void path_combine(char *dest, int dest_size,
}
}
-void bdrv_get_full_backing_filename(BlockDriverState *bs, char *dest, size_t sz)
+void bdrv_get_full_backing_filename_from_filename(const char *backed,
+ const char *backing,
+ char *dest, size_t sz)
{
- if (bs->backing_file[0] == '\0' || path_has_protocol(bs->backing_file)) {
- pstrcpy(dest, sz, bs->backing_file);
+ if (backing[0] == '\0' || path_has_protocol(backing)) {
+ pstrcpy(dest, sz, backing);
} else {
- path_combine(dest, sz, bs->filename, bs->backing_file);
+ path_combine(dest, sz, backed, backing);
}
}
+void bdrv_get_full_backing_filename(BlockDriverState *bs, char *dest, size_t sz)
+{
+ bdrv_get_full_backing_filename_from_filename(bs->filename, bs->backing_file,
+ dest, sz);
+}
+
void bdrv_register(BlockDriver *bdrv)
{
/* Block drivers without coroutine functions need emulation */
diff --git a/include/block/block.h b/include/block/block.h
index 6e7275d..eac9bb0 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -397,6 +397,9 @@ void bdrv_get_backing_filename(BlockDriverState *bs,
char *filename, int filename_size);
void bdrv_get_full_backing_filename(BlockDriverState *bs,
char *dest, size_t sz);
+void bdrv_get_full_backing_filename_from_filename(const char *backed,
+ const char *backing,
+ char *dest, size_t sz);
int bdrv_is_snapshot(BlockDriverState *bs);
int path_has_protocol(const char *path);
--
1.8.3.1
next prev parent reply other threads:[~2014-12-19 16:35 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-19 16:34 [Qemu-devel] [PULL 00/19] Block patches Kevin Wolf
2014-12-19 16:34 ` [Qemu-devel] [PULL 01/19] qemu-iotests: Remove 091 from quick group Kevin Wolf
2014-12-19 16:34 ` [Qemu-devel] [PULL 02/19] qemu-iotests: Speed up make check-block Kevin Wolf
2014-12-19 16:34 ` [Qemu-devel] [PULL 03/19] tests/Makefile: Add check-block to make check Kevin Wolf
2014-12-19 16:34 ` [Qemu-devel] [PULL 04/19] block: mark AioContext as recursive Kevin Wolf
2014-12-19 16:34 ` [Qemu-devel] [PULL 05/19] block: do not allocate an iovec per read of a growable/zero_after_eof BDS Kevin Wolf
2014-12-19 16:34 ` [Qemu-devel] [PULL 06/19] block: replace g_new0 with g_new for bottom half allocation Kevin Wolf
2014-12-19 16:34 ` [Qemu-devel] [PULL 07/19] checkpatch: Brace handling on multi-line condition Kevin Wolf
2014-12-19 16:34 ` Kevin Wolf [this message]
2014-12-19 16:34 ` [Qemu-devel] [PULL 09/19] block: JSON filenames and relative backing files Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 10/19] block: Relative backing file for image creation Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 11/19] block/vmdk: Relative backing file for creation Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 12/19] iotests: Add test for relative backing file names Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 13/19] qapi: Fix document for BlockStats.node-name Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 14/19] block: fix spoiling all dirty bitmaps by mirror and migration Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 15/19] qapi: Comment version info in TransactionAction Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 16/19] qmp: Add command 'blockdev-backup' Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 17/19] block: Add blockdev-backup to transaction Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 18/19] qemu-iotests: Test blockdev-backup in 055 Kevin Wolf
2014-12-19 16:35 ` [Qemu-devel] [PULL 19/19] iotests: Filter out "I/O thread spun..." warning Kevin Wolf
2014-12-22 11:14 ` [Qemu-devel] [PULL 00/19] Block patches Peter Maydell
2014-12-22 12:07 ` Peter Maydell
2014-12-22 12:22 ` Peter Maydell
2014-12-23 2:15 ` Fam Zheng
2015-01-05 11:55 ` Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1419006909-1781-9-git-send-email-kwolf@redhat.com \
--to=kwolf@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.