* [Qemu-devel] [PATCH v3] exec: make -mem-path filenames deterministic
@ 2013-03-04 18:54 peter
2013-03-11 17:01 ` Peter Feiner
2013-03-12 21:44 ` Anthony Liguori
0 siblings, 2 replies; 3+ messages in thread
From: peter @ 2013-03-04 18:54 UTC (permalink / raw)
To: qemu-devel, aliguori, afaerber; +Cc: andreslc, peter
From: Peter Feiner <peter@gridcentric.ca>
Adds ramblocks' names to their backing files when using -mem-path. Eases
introspection and debugging.
Signed-off-by: Peter Feiner <peter@gridcentric.ca>
---
The commit should probably be called "exec: add ramblocks' names to -mem-path
files" since the paths aren't deterministic.
v1 -> v2: Just add ramblock name to mkstemp template.
v2 -> v3: Safely handle ramblocks with "/" in their names
exec.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/exec.c b/exec.c
index 46a2830..f84e095 100644
--- a/exec.c
+++ b/exec.c
@@ -844,6 +844,8 @@ static void *file_ram_alloc(RAMBlock *block,
const char *path)
{
char *filename;
+ char *sanitized_name;
+ char *c;
void *area;
int fd;
#ifdef MAP_POPULATE
@@ -865,7 +867,16 @@ static void *file_ram_alloc(RAMBlock *block,
return NULL;
}
- filename = g_strdup_printf("%s/qemu_back_mem.XXXXXX", path);
+ /* Make name safe to use with mkstemp by replacing '/' with '_'. */
+ sanitized_name = g_strdup(block->mr->name);
+ for (c = sanitized_name; *c != '\0'; c++) {
+ if (*c == '/')
+ *c = '_';
+ }
+
+ filename = g_strdup_printf("%s/qemu_back_mem.%s.XXXXXX", path,
+ sanitized_name);
+ g_free(sanitized_name);
fd = mkstemp(filename);
if (fd < 0) {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v3] exec: make -mem-path filenames deterministic
2013-03-04 18:54 [Qemu-devel] [PATCH v3] exec: make -mem-path filenames deterministic peter
@ 2013-03-11 17:01 ` Peter Feiner
2013-03-12 21:44 ` Anthony Liguori
1 sibling, 0 replies; 3+ messages in thread
From: Peter Feiner @ 2013-03-11 17:01 UTC (permalink / raw)
To: qemu-devel, Anthony Liguori, Andreas Färber
Cc: Andres Lagar-Cavilla, Peter Feiner
Ping.
I'm very much hoping for this to make it into 1.5.
Thanks,
Peter
On Mon, Mar 4, 2013 at 1:54 PM, <peter@gridcentric.ca> wrote:
> From: Peter Feiner <peter@gridcentric.ca>
>
> Adds ramblocks' names to their backing files when using -mem-path. Eases
> introspection and debugging.
>
> Signed-off-by: Peter Feiner <peter@gridcentric.ca>
>
> ---
>
> The commit should probably be called "exec: add ramblocks' names to -mem-path
> files" since the paths aren't deterministic.
>
> v1 -> v2: Just add ramblock name to mkstemp template.
> v2 -> v3: Safely handle ramblocks with "/" in their names
>
> exec.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/exec.c b/exec.c
> index 46a2830..f84e095 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -844,6 +844,8 @@ static void *file_ram_alloc(RAMBlock *block,
> const char *path)
> {
> char *filename;
> + char *sanitized_name;
> + char *c;
> void *area;
> int fd;
> #ifdef MAP_POPULATE
> @@ -865,7 +867,16 @@ static void *file_ram_alloc(RAMBlock *block,
> return NULL;
> }
>
> - filename = g_strdup_printf("%s/qemu_back_mem.XXXXXX", path);
> + /* Make name safe to use with mkstemp by replacing '/' with '_'. */
> + sanitized_name = g_strdup(block->mr->name);
> + for (c = sanitized_name; *c != '\0'; c++) {
> + if (*c == '/')
> + *c = '_';
> + }
> +
> + filename = g_strdup_printf("%s/qemu_back_mem.%s.XXXXXX", path,
> + sanitized_name);
> + g_free(sanitized_name);
>
> fd = mkstemp(filename);
> if (fd < 0) {
> --
> 1.7.10.4
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH v3] exec: make -mem-path filenames deterministic
2013-03-04 18:54 [Qemu-devel] [PATCH v3] exec: make -mem-path filenames deterministic peter
2013-03-11 17:01 ` Peter Feiner
@ 2013-03-12 21:44 ` Anthony Liguori
1 sibling, 0 replies; 3+ messages in thread
From: Anthony Liguori @ 2013-03-12 21:44 UTC (permalink / raw)
To: peter, qemu-devel, aliguori, afaerber; +Cc: andreslc
Applied. Thanks.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-03-12 22:00 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-04 18:54 [Qemu-devel] [PATCH v3] exec: make -mem-path filenames deterministic peter
2013-03-11 17:01 ` Peter Feiner
2013-03-12 21:44 ` Anthony Liguori
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).