exec: make -mem-path filenames deterministic
Adds ramblocks' names to their backing files when using -mem-path. Eases introspection and debugging. Signed-off-by: Peter Feiner <peter@gridcentric.ca> Message-id: 1362423265-15855-1-git-send-email-peter@gridcentric.ca Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
4524051c32
commit
8ca761f661
13
exec.c
13
exec.c
|
@ -844,6 +844,8 @@ static void *file_ram_alloc(RAMBlock *block,
|
||||||
const char *path)
|
const char *path)
|
||||||
{
|
{
|
||||||
char *filename;
|
char *filename;
|
||||||
|
char *sanitized_name;
|
||||||
|
char *c;
|
||||||
void *area;
|
void *area;
|
||||||
int fd;
|
int fd;
|
||||||
#ifdef MAP_POPULATE
|
#ifdef MAP_POPULATE
|
||||||
|
@ -865,7 +867,16 @@ static void *file_ram_alloc(RAMBlock *block,
|
||||||
return NULL;
|
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);
|
fd = mkstemp(filename);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
|
|
Loading…
Reference in New Issue