From: Ram Pai <linuxram@us.ibm.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
Kevin Wolf <kwolf@redhat.com>,
Anthony Liguori <aliguori@us.ibm.com>,
qemu-devel@nongnu.org, kvm-devel <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] Re: [PATCH] rev5: support colon in filenames
Date: Wed, 15 Jul 2009 11:44:34 -0700 [thread overview]
Message-ID: <1247683475.14246.90.camel@localhost> (raw)
In-Reply-To: <20090715182025.GC3056@shareable.org>
On Wed, 2009-07-15 at 19:20 +0100, Jamie Lokier wrote:
> Ram Pai wrote:
> > I have verified with relative paths and it works.
> >
> > After analyzing the code, i came to the conclusion that call to
> > realpath() adds no real value.
> >
> > The logic in bdrv_open2() is something like this
> >
> > bdrv_open2()
> > {
> > if (snapshot) {
> > backup = realpath(filename);
> > filename=generate_a_temp_file();
> > }
> > drv=parse_and_get_bdrv(filename);
> > drv->bdrv_open(filename);
> > if (backup) {
> > bdrv_open2(backup);
> > }
> > }
> >
> > in the above function, the call to realpath() would have been useful had
> > it changed the current working directory before calling
> > bdrv_open2(backup). It does not. If in case any function within
> > drv->bdrv_open change the cwd, then I expect them to restore before
> > returning.
> >
> > Also drv->bdrv_open() can anyway handle relative paths.
> >
> > Hence I conclude that the call to realpath() adds no value.
> >
> > Do you see a flaw in this logic?
>
> I don't know about snapshot, but when a qcow2 file contains a relative
> path to it's backing file, QEMU cannot simply open using that relative
> path, because it's relative to the directory containing the qcow2 file,
> not QEMU's current directory.
I have successfully verified qcow2 files. But then I may not be trying
out the exact thing that you are talking about. Can you give me a test
case that I can verify. I am pretty sure that the patch would work.
However i have not accumulated enough flight time on qemu; so i can be
wrong :(
And one other thing. Let me know if there a test-suite that I can try
for regressions.
RP
>
> (That said, I find it quite annoying when renaming qcow2 files that
> there's no easy way to rename their backing files, and it's even worse
> when moving qcow2 files which refer to backing files in another
> directory, and _especially_ when the qcow2 file contains an absolute
> path to the backing file and you're asked to move it to another system
> which doesn't have those directories.)
>
> -- Jamie
--
Ram Pai
System X Device-Driver Enablement Lead
Linux Technology Center
Beaverton OR-97006
503-5783752 t/l 7753752
linuxram@us.ibm.com
WARNING: multiple messages have this Message-ID (diff)
From: Ram Pai <linuxram@us.ibm.com>
To: Jamie Lokier <jamie@shareable.org>
Cc: Kevin Wolf <kwolf@redhat.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
Anthony Liguori <aliguori@us.ibm.com>,
qemu-devel@nongnu.org, kvm-devel <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] Re: [PATCH] rev5: support colon in filenames
Date: Wed, 15 Jul 2009 11:44:34 -0700 [thread overview]
Message-ID: <1247683475.14246.90.camel@localhost> (raw)
In-Reply-To: <20090715182025.GC3056@shareable.org>
On Wed, 2009-07-15 at 19:20 +0100, Jamie Lokier wrote:
> Ram Pai wrote:
> > I have verified with relative paths and it works.
> >
> > After analyzing the code, i came to the conclusion that call to
> > realpath() adds no real value.
> >
> > The logic in bdrv_open2() is something like this
> >
> > bdrv_open2()
> > {
> > if (snapshot) {
> > backup = realpath(filename);
> > filename=generate_a_temp_file();
> > }
> > drv=parse_and_get_bdrv(filename);
> > drv->bdrv_open(filename);
> > if (backup) {
> > bdrv_open2(backup);
> > }
> > }
> >
> > in the above function, the call to realpath() would have been useful had
> > it changed the current working directory before calling
> > bdrv_open2(backup). It does not. If in case any function within
> > drv->bdrv_open change the cwd, then I expect them to restore before
> > returning.
> >
> > Also drv->bdrv_open() can anyway handle relative paths.
> >
> > Hence I conclude that the call to realpath() adds no value.
> >
> > Do you see a flaw in this logic?
>
> I don't know about snapshot, but when a qcow2 file contains a relative
> path to it's backing file, QEMU cannot simply open using that relative
> path, because it's relative to the directory containing the qcow2 file,
> not QEMU's current directory.
I have successfully verified qcow2 files. But then I may not be trying
out the exact thing that you are talking about. Can you give me a test
case that I can verify. I am pretty sure that the patch would work.
However i have not accumulated enough flight time on qemu; so i can be
wrong :(
And one other thing. Let me know if there a test-suite that I can try
for regressions.
RP
>
> (That said, I find it quite annoying when renaming qcow2 files that
> there's no easy way to rename their backing files, and it's even worse
> when moving qcow2 files which refer to backing files in another
> directory, and _especially_ when the qcow2 file contains an absolute
> path to the backing file and you're asked to move it to another system
> which doesn't have those directories.)
>
> -- Jamie
--
Ram Pai
System X Device-Driver Enablement Lead
Linux Technology Center
Beaverton OR-97006
503-5783752 t/l 7753752
linuxram@us.ibm.com
next prev parent reply other threads:[~2009-07-15 18:44 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-24 16:58 [PATCH] support colon in filenames Ram Pai
2009-06-24 17:08 ` Balbir Singh
2009-06-24 17:30 ` Ram Pai
2009-06-24 18:31 ` Balbir Singh
2009-06-24 17:26 ` Amit Shah
2009-06-24 17:27 ` Amit Shah
2009-06-24 17:57 ` Ram Pai
2009-06-24 17:57 ` [Qemu-devel] " Ram Pai
2009-06-25 9:14 ` Kevin Wolf
2009-06-25 9:14 ` [Qemu-devel] " Kevin Wolf
2009-06-25 17:52 ` Ram Pai
2009-06-25 17:52 ` [Qemu-devel] " Ram Pai
2009-06-26 6:53 ` Kevin Wolf
2009-06-26 6:53 ` [Qemu-devel] " Kevin Wolf
2009-06-26 6:38 ` rev1 " Ram Pai
2009-06-26 6:38 ` [Qemu-devel] " Ram Pai
2009-06-26 7:45 ` Kevin Wolf
2009-06-26 7:45 ` [Qemu-devel] " Kevin Wolf
2009-06-27 0:41 ` rev2 " Ram Pai
2009-06-27 0:41 ` [Qemu-devel] " Ram Pai
2009-07-02 5:08 ` [PATCH] rev3: " Ram Pai
2009-07-02 5:08 ` [Qemu-devel] " Ram Pai
2009-07-02 8:52 ` Kevin Wolf
2009-07-02 12:52 ` Anthony Liguori
2009-07-02 13:18 ` Kevin Wolf
2009-07-08 8:30 ` [PATCH] rev4: " Ram Pai
2009-07-08 8:30 ` [Qemu-devel] " Ram Pai
2009-07-08 15:05 ` Jan Kiszka
2009-07-08 15:05 ` [Qemu-devel] " Jan Kiszka
2009-07-10 13:31 ` Anthony Liguori
2009-07-10 13:31 ` [Qemu-devel] " Anthony Liguori
2009-07-15 7:51 ` [PATCH] rev5: " Ram Pai
2009-07-15 7:51 ` [Qemu-devel] " Ram Pai
2009-07-15 9:30 ` Jan Kiszka
2009-07-15 9:30 ` [Qemu-devel] " Jan Kiszka
2009-07-15 17:03 ` Ram Pai
2009-07-15 17:03 ` [Qemu-devel] " Ram Pai
2009-07-15 18:20 ` Jamie Lokier
2009-07-15 18:20 ` Jamie Lokier
2009-07-15 18:44 ` Ram Pai [this message]
2009-07-15 18:44 ` Ram Pai
2009-07-15 21:04 ` qcow2 relative paths (was: [PATCH] rev5: support colon in filenames) Jamie Lokier
2009-07-15 21:04 ` [Qemu-devel] " Jamie Lokier
2009-07-15 21:14 ` qcow2 relative paths Jan Kiszka
2009-07-15 21:14 ` [Qemu-devel] " Jan Kiszka
2009-07-16 2:28 ` qcow2 relative paths (was: [PATCH] rev5: support colon in filenames) Ram Pai
2009-07-16 2:28 ` [Qemu-devel] " Ram Pai
2009-07-16 7:38 ` qcow2 relative paths Kevin Wolf
2009-07-16 7:38 ` [Qemu-devel] " Kevin Wolf
2009-07-16 7:51 ` Ram Pai
2009-07-16 7:51 ` [Qemu-devel] " Ram Pai
2009-07-16 7:39 ` [PATCH] rev6: support colon in filenames Ram Pai
2009-07-16 7:39 ` [Qemu-devel] " Ram Pai
2009-07-17 23:17 ` [PATCH] rev7: " Ram Pai
2009-07-17 23:17 ` [Qemu-devel] " Ram Pai
2009-07-21 12:42 ` Kevin Wolf
2009-07-21 12:42 ` [Qemu-devel] " Kevin Wolf
2009-08-06 6:27 ` Ram Pai
2009-08-06 6:27 ` [Qemu-devel] " Ram Pai
2009-08-06 6:47 ` [PATCH] rev8: " Ram Pai
2009-08-06 6:47 ` [Qemu-devel] " Ram Pai
2009-07-15 15:04 ` [Qemu-devel] [PATCH] rev5: " Blue Swirl
2009-07-15 15:04 ` Blue Swirl
2009-07-15 15:14 ` Anthony Liguori
2009-07-15 15:14 ` Anthony Liguori
2009-07-15 15:29 ` Blue Swirl
2009-07-15 15:29 ` Blue Swirl
2009-07-15 15:40 ` Anthony Liguori
2009-07-15 15:40 ` Anthony Liguori
2009-07-15 16:42 ` Kevin Wolf
2009-07-15 16:42 ` Kevin Wolf
2009-07-15 17:47 ` Michael S. Tsirkin
2009-07-15 17:47 ` Michael S. Tsirkin
2009-07-16 10:57 ` Amit Shah
2009-07-16 10:57 ` Amit Shah
2009-07-16 13:43 ` Markus Armbruster
2009-07-16 13:43 ` Markus Armbruster
2009-07-16 14:10 ` Anthony Liguori
2009-07-16 14:10 ` Anthony Liguori
2009-07-16 15:13 ` Gerd Hoffmann
2009-07-16 15:13 ` Gerd Hoffmann
2009-07-16 15:12 ` Gerd Hoffmann
2009-07-16 15:12 ` Gerd Hoffmann
2009-07-15 15:34 ` Kevin Wolf
2009-07-15 15:34 ` Kevin Wolf
2009-07-15 15:41 ` Anthony Liguori
2009-07-15 15:41 ` Anthony Liguori
2009-07-15 15:52 ` Paul Brook
2009-07-15 15:52 ` Paul Brook
2009-07-15 16:03 ` Gerd Hoffmann
2009-07-15 16:03 ` Gerd Hoffmann
2009-07-15 16:08 ` Paul Brook
2009-07-15 16:08 ` Paul Brook
2009-07-16 7:39 ` Ram Pai
2009-07-16 7:39 ` Ram Pai
2009-07-16 7:43 ` Kevin Wolf
2009-07-16 7:43 ` Kevin Wolf
2009-07-15 18:14 ` [Qemu-devel] [PATCH] rev3: " Jamie Lokier
2009-07-15 20:54 ` Jan Kiszka
2009-07-15 21:36 ` Jamie Lokier
2009-07-15 21:42 ` Jan Kiszka
2009-07-15 22:00 ` Jamie Lokier
2009-07-15 22:16 ` Anthony Liguori
2009-07-15 22:16 ` Anthony Liguori
2009-07-15 22:39 ` Jamie Lokier
2009-07-15 22:39 ` Jamie Lokier
2009-07-15 22:41 ` Anthony Liguori
2009-07-15 22:41 ` Anthony Liguori
2009-07-15 22:51 ` Jamie Lokier
2009-07-15 22:51 ` Jamie Lokier
2009-07-16 0:03 ` Anthony Liguori
2009-07-16 0:03 ` Anthony Liguori
2009-07-16 7:20 ` Jan Kiszka
2009-07-16 7:20 ` Jan Kiszka
2009-07-16 7:16 ` Jan Kiszka
2009-07-16 7:16 ` Jan Kiszka
2009-07-16 8:01 ` Kevin Wolf
2009-07-16 23:53 ` Paul Brook
2009-07-16 23:53 ` Paul Brook
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=1247683475.14246.90.camel@localhost \
--to=linuxram@us.ibm.com \
--cc=aliguori@us.ibm.com \
--cc=jamie@shareable.org \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=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.