X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fdatabase.c;h=792a6fd06c04672f20e711ab53c3eb1e70389198;hb=acfea2084c5b599e967ecbfdddd88e762b3b3179;hp=14280397b5808a4472131bc94e0e4cafae4dcd15;hpb=e5bb8bde105c5b5df9479d3f296a9fefaeb61750;p=citadel.git diff --git a/citadel/database.c b/citadel/database.c index 14280397b..792a6fd06 100644 --- a/citadel/database.c +++ b/citadel/database.c @@ -42,15 +42,16 @@ void defrag_databases() { gdbm_reorganize(gdbms[CDB_MSGMAIN]); end_critical_section(S_MSGMAIN); - /* defrag the user file */ + /* defrag the user file and mailboxes */ begin_critical_section(S_USERSUPP); gdbm_reorganize(gdbms[CDB_USERSUPP]); + gdbm_reorganize(gdbms[CDB_MAILBOXES]); end_critical_section(S_USERSUPP); - /* defrag the room files */ + /* defrag the room files and message lists */ begin_critical_section(S_QUICKROOM); gdbm_reorganize(gdbms[CDB_QUICKROOM]); - gdbm_reorganize(gdbms[CDB_FULLROOM]); + gdbm_reorganize(gdbms[CDB_MSGLISTS]); end_critical_section(S_QUICKROOM); /* defrag the floor table */ @@ -88,17 +89,24 @@ void open_databases() { gdbm_strerror(gdbm_errno)); } - gdbms[CDB_FULLROOM] = gdbm_open("fullroom.gdbm", 0, + gdbms[CDB_FLOORTAB] = gdbm_open("floortab.gdbm", 0, GDBM_WRCREAT, 0600, NULL); - if (gdbms[CDB_FULLROOM] == NULL) { - lprintf(2, "Cannot open fullroom: %s\n", + if (gdbms[CDB_FLOORTAB] == NULL) { + lprintf(2, "Cannot open floortab: %s\n", gdbm_strerror(gdbm_errno)); } - gdbms[CDB_FLOORTAB] = gdbm_open("floortab.gdbm", 0, + gdbms[CDB_MSGLISTS] = gdbm_open("msglists.gdbm", 0, GDBM_WRCREAT, 0600, NULL); - if (gdbms[CDB_FLOORTAB] == NULL) { - lprintf(2, "Cannot open floortab: %s\n", + if (gdbms[CDB_MSGLISTS] == NULL) { + lprintf(2, "Cannot open msglists: %s\n", + gdbm_strerror(gdbm_errno)); + } + + gdbms[CDB_MAILBOXES] = gdbm_open("mailboxes.gdbm", 0, + GDBM_WRCREAT, 0600, NULL); + if (gdbms[CDB_MAILBOXES] == NULL) { + lprintf(2, "Cannot open mailboxes: %s\n", gdbm_strerror(gdbm_errno)); }