repack limit tunable
authorWolfgang Mueller-Friedt <wolfmuel@de.ibm.com>
Tue, 28 Jul 2009 20:09:28 +0000 (23:09 +0300)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Fri, 2 Oct 2009 00:02:17 +0000 (10:02 +1000)
Signed-off-by: Wolfgang Mueller-Friedt <wolfmuel@de.ibm.com>
include/ctdb_private.h
server/ctdb_tunables.c
server/ctdb_vacuum.c

index 3226916a0fee512ac5a320f2d9f187c4e769f4d4..9fe7d569d94f7ad885c9d6f15e6c39f91fd2a2df 100644 (file)
@@ -110,6 +110,7 @@ struct ctdb_tunable {
        uint32_t verify_recovery_lock;
        uint32_t vacuum_default_interval;
        uint32_t vacuum_max_run_time;
+       uint32_t repack_limit;
 };
 
 /*
index 456c9746085b74be4f19c6dafc387e996d998b9f..a81198c80519b72309e6c3e8897148ea55336d2a 100644 (file)
@@ -57,7 +57,8 @@ static const struct {
        { "RecoveryDropAllIPs",  60,  offsetof(struct ctdb_tunable, recovery_drop_all_ips) },
        { "VerifyRecoveryLock",   1,  offsetof(struct ctdb_tunable, verify_recovery_lock) },
        { "VacuumDefaultInterval", 10,  offsetof(struct ctdb_tunable, vacuum_default_interval) },
-       { "VacuumMaxRunTime",      5,  offsetof(struct ctdb_tunable, vacuum_max_run_time) },
+       { "VacuumMaxRunTime",     5,  offsetof(struct ctdb_tunable, vacuum_max_run_time) },
+       { "RepackLimit",      10000,  offsetof(struct ctdb_tunable, repack_limit) },
 };
 
 /*
index a7587fd96d146f6818a77f11711a95d804a5b9a6..4188c854054c2f34a6717155543ef0d91f67b82b 100644 (file)
@@ -146,7 +146,7 @@ static int ctdb_repack_tdb(struct tdb_context *tdb, TALLOC_CTX *mem_ctx)
 
 static int ctdb_repack_db(struct ctdb_db_context *ctdb_db, TALLOC_CTX *mem_ctx)
 {
-       uint32_t repack_limit = 10000;   /* should be made tunable */
+       uint32_t repack_limit = ctdb_db->ctdb->tunable.repack_limit;
        const char *name = ctdb_db->db_name;
        int size = tdb_freelist_size(ctdb_db->ltdb->tdb);