diff --git a/src/libsysprof-analyze/sysprof-document.c b/src/libsysprof-analyze/sysprof-document.c index bc2e6949..ced8e01a 100644 --- a/src/libsysprof-analyze/sysprof-document.c +++ b/src/libsysprof-analyze/sysprof-document.c @@ -354,9 +354,13 @@ sysprof_document_load_mountinfo (SysprofDocument *self, line[line_len] = 0; - if ((mount = sysprof_mount_new_for_mountinfo (line))) + if ((mount = sysprof_mount_new_for_mountinfo (self->strings, line))) sysprof_mount_namespace_add_mount (mount_namespace, g_steal_pointer (&mount)); } + + g_hash_table_insert (self->pid_to_mountinfo, + GINT_TO_POINTER (pid), + g_steal_pointer (&mount_namespace)); } static void diff --git a/src/libsysprof-analyze/sysprof-mount-private.h b/src/libsysprof-analyze/sysprof-mount-private.h index 081fef17..675972d6 100644 --- a/src/libsysprof-analyze/sysprof-mount-private.h +++ b/src/libsysprof-analyze/sysprof-mount-private.h @@ -22,20 +22,23 @@ #include +#include "sysprof-strings-private.h" + G_BEGIN_DECLS #define SYSPROF_TYPE_MOUNT (sysprof_mount_get_type()) G_DECLARE_FINAL_TYPE (SysprofMount, sysprof_mount, SYSPROF, MOUNT, GObject) -SysprofMount *sysprof_mount_new_for_mountinfo (const char *mountinfo); -int sysprof_mount_get_device_major (SysprofMount *self); -int sysprof_mount_get_device_minor (SysprofMount *self); -const char *sysprof_mount_get_root (SysprofMount *self); -const char *sysprof_mount_get_mount_path (SysprofMount *self); -const char *sysprof_mount_get_mount_source (SysprofMount *self); -const char *sysprof_mount_get_filesystem_type (SysprofMount *self); -const char *sysprof_mount_get_superblock_option (SysprofMount *self, - const char *option); +SysprofMount *sysprof_mount_new_for_mountinfo (SysprofStrings *strings, + const char *mountinfo); +int sysprof_mount_get_device_major (SysprofMount *self); +int sysprof_mount_get_device_minor (SysprofMount *self); +const char *sysprof_mount_get_root (SysprofMount *self); +const char *sysprof_mount_get_mount_path (SysprofMount *self); +const char *sysprof_mount_get_mount_source (SysprofMount *self); +const char *sysprof_mount_get_filesystem_type (SysprofMount *self); +const char *sysprof_mount_get_superblock_option (SysprofMount *self, + const char *option); G_END_DECLS diff --git a/src/libsysprof-analyze/sysprof-mount.c b/src/libsysprof-analyze/sysprof-mount.c index 786bf111..4d3bdf19 100644 --- a/src/libsysprof-analyze/sysprof-mount.c +++ b/src/libsysprof-analyze/sysprof-mount.c @@ -149,7 +149,8 @@ sysprof_mount_init (SysprofMount *self) } SysprofMount * -sysprof_mount_new_for_mountinfo (const char *mountinfo) +sysprof_mount_new_for_mountinfo (SysprofStrings *strings, + const char *mountinfo) { return NULL; }