summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/database-gdbm.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-06-17 23:43:50 +0200
committerLennart Poettering <lennart@poettering.net>2009-06-17 23:43:50 +0200
commit53b87033aa04a504677d4c14b0b65caa58d16dbd (patch)
tree87bc32d0e83d8a9018fb10a7d308ae4a8ccf1f89 /src/pulsecore/database-gdbm.c
parent550b619558f03fb9e6d5d8072b9a4b15d9e6f91f (diff)
parent75256fb671b6ae8d784e0d6415d292fdbc6482c2 (diff)
Merge commit 'origin/master' into master-tx
Diffstat (limited to 'src/pulsecore/database-gdbm.c')
-rw-r--r--src/pulsecore/database-gdbm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/pulsecore/database-gdbm.c b/src/pulsecore/database-gdbm.c
index aeaac64b..e65125d3 100644
--- a/src/pulsecore/database-gdbm.c
+++ b/src/pulsecore/database-gdbm.c
@@ -71,10 +71,13 @@ pa_database* pa_database_open(const char *fn, pa_bool_t for_write) {
/* We include the host identifier in the file name because gdbm
* files are CPU dependant, and we don't want things to go wrong
* if we are on a multiarch system. */
-
path = pa_sprintf_malloc("%s."CANONICAL_HOST".gdbm", fn);
errno = 0;
- f = gdbm_open((char*) path, 0, GDBM_NOLOCK | (for_write ? GDBM_WRCREAT : GDBM_READER), 0644, NULL);
+
+ /* We need to set the block size explicitly here, since otherwise
+ * gdbm takes the native block size of the underlying file system
+ * which might be incredibly large. */
+ f = gdbm_open((char*) path, 1024, GDBM_NOLOCK | (for_write ? GDBM_WRCREAT : GDBM_READER), 0644, NULL);
if (f)
pa_log_debug("Opened GDBM database '%s'", path);