From: Eric Blake <eblake@redhat.com>
To: Max Reitz <mreitz@redhat.com>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 3/5] block: Relative backing file for image creation
Date: Tue, 25 Nov 2014 13:11:23 -0700 [thread overview]
Message-ID: <5474E26B.70805@redhat.com> (raw)
In-Reply-To: <1416822200-31088-4-git-send-email-mreitz@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1795 bytes --]
On 11/24/2014 02:43 AM, Max Reitz wrote:
> Relative backing filenames are always relative to the backed image's
> directory; the same applies to image creation. Therefore, if the backing
> file has to be opened for determining its size (in case the size has not
> been explicitly specified) its filename should be interpreted relative
> to the new image's base directory and not relative to qemu's working
> directory.
>
> Signed-off-by: Max Reitz <mreitz@redhat.com>
> ---
> block.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/block.c b/block.c
> index a0cddcd..ed8e187 100644
> --- a/block.c
> +++ b/block.c
> @@ -5633,16 +5633,26 @@ void bdrv_img_create(const char *filename, const char *fmt,
> if (size == -1) {
> if (backing_file) {
> BlockDriverState *bs;
> + char *full_backing = g_new0(char, PATH_MAX);
PATH_MAX is undefined on GNU Hurd. But qemu doesn't compile on GNU
Hurd. Furthermore, Linux allows (relative) paths in deep hierarchies
such that the absolute path is longer than PATH_MAX. On the other hand,
such usage is rare (in fact, as coreutils learned, if you aren't using
openat() and friends reliably for O(n) descent into such deep
hierarchies, you then suffer from O(n^2) effects that make such paths
painful to create and use in the first place). Besides, there are
already existing usage sites in qemu capped at PATH_MAX.
Therefore, in spite of all of my rambling, your patch is correct as-is
(I'm NOT asking you to rewrite to something safer that can tolerate
arbitrary filename lengths).
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 539 bytes --]
next prev parent reply other threads:[~2014-11-25 20:11 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-24 9:43 [Qemu-devel] [PATCH v3 0/5] block: Relative backing files Max Reitz
2014-11-24 9:43 ` [Qemu-devel] [PATCH v3 1/5] block: Get full backing filename from string Max Reitz
2014-11-25 19:53 ` Eric Blake
2014-11-26 5:38 ` Fam Zheng
2014-11-24 9:43 ` [Qemu-devel] [PATCH v3 2/5] block: JSON filenames and relative backing files Max Reitz
2014-11-25 19:57 ` Eric Blake
2014-11-26 9:10 ` Max Reitz
2014-11-26 5:35 ` Fam Zheng
2014-11-26 9:12 ` Max Reitz
2014-11-24 9:43 ` [Qemu-devel] [PATCH v3 3/5] block: Relative backing file for image creation Max Reitz
2014-11-25 20:11 ` Eric Blake [this message]
2014-11-26 5:40 ` Fam Zheng
2014-11-24 9:43 ` [Qemu-devel] [PATCH v3 4/5] block/vmdk: Relative backing file for creation Max Reitz
2014-11-25 21:52 ` Eric Blake
2014-11-26 5:38 ` Fam Zheng
2014-11-24 9:43 ` [Qemu-devel] [PATCH v3 5/5] iotests: Add test for relative backing file names Max Reitz
2014-11-25 22:06 ` Eric Blake
2014-11-26 9:24 ` Max Reitz
2014-11-26 5:45 ` Fam Zheng
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=5474E26B.70805@redhat.com \
--to=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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.