diff options
Diffstat (limited to 'src/udisksstate.c')
-rw-r--r-- | src/udisksstate.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/udisksstate.c b/src/udisksstate.c index 4dfe393..ee40b8a 100644 --- a/src/udisksstate.c +++ b/src/udisksstate.c @@ -2235,7 +2235,14 @@ udisks_state_get (UDisksState *state, * - could also mmap the file */ - path = g_strdup_printf ("/run/udisks2/%s", key); +#ifdef HAVE_FHS_MEDIA + /* /media usually isn't on a tmpfs, so we need to make this persistant */ + if (strcmp (key, "mounted-fs") == 0) + path = g_strdup_printf (PACKAGE_LOCALSTATE_DIR "/lib/udisks2/%s", key); + else +#endif + path = g_strdup_printf ("/run/udisks2/%s", key); + /* see if it's already in the cache */ ret = g_hash_table_lookup (state->cache, path); @@ -2301,7 +2308,13 @@ udisks_state_set (UDisksState *state, data = g_malloc (size); g_variant_store (normalized, data); - path = g_strdup_printf ("/run/udisks2/%s", key); +#ifdef HAVE_FHS_MEDIA + /* /media usually isn't on a tmpfs, so we need to make this persistant */ + if (strcmp (key, "mounted-fs") == 0) + path = g_strdup_printf (PACKAGE_LOCALSTATE_DIR "/lib/udisks2/%s", key); + else +#endif + path = g_strdup_printf ("/run/udisks2/%s", key); g_hash_table_insert (state->cache, g_strdup (path), g_variant_ref (value)); |