diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-06-17 23:43:50 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-06-17 23:43:50 +0200 |
commit | 53b87033aa04a504677d4c14b0b65caa58d16dbd (patch) | |
tree | 87bc32d0e83d8a9018fb10a7d308ae4a8ccf1f89 /src/pulsecore/database-gdbm.c | |
parent | 550b619558f03fb9e6d5d8072b9a4b15d9e6f91f (diff) | |
parent | 75256fb671b6ae8d784e0d6415d292fdbc6482c2 (diff) |
Merge commit 'origin/master' into master-tx
Diffstat (limited to 'src/pulsecore/database-gdbm.c')
-rw-r--r-- | src/pulsecore/database-gdbm.c | 7 |
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); |