]> git.ipfire.org Git - thirdparty/ulogd2.git/commitdiff
db: db ring has precedence over backlog.
authorEric Leblond <eric@regit.org>
Thu, 9 May 2013 10:57:20 +0000 (12:57 +0200)
committerEric Leblond <eric@regit.org>
Tue, 21 May 2013 17:57:07 +0000 (19:57 +0200)
util/db.c

index 1e10bfa0aaaf554c94f41aeb534ed92203e82b4c..3b72007e4d5f38831cf74693a0e66a1610da2343 100644 (file)
--- a/util/db.c
+++ b/util/db.c
@@ -176,9 +176,14 @@ int ulogd_db_configure(struct ulogd_pluginstance *upi,
 
        INIT_LLIST_HEAD(&di->backlog);
        di->backlog_memusage = 0;
-       
+
+       di->ring.size = ringsize_ce(upi->config_kset).u.value;
        di->backlog_memcap = backlog_memcap_ce(upi->config_kset).u.value;
-       if (di->backlog_memcap > 0) {
+
+       if (di->ring.size && di->backlog_memcap) {
+               ulogd_log(ULOGD_ERROR, "Ring buffer has precedence over backlog\n");
+               di->backlog_memcap = 0;
+       } else if (di->backlog_memcap > 0) {
                di->backlog_oneshot = backlog_oneshot_ce(upi->config_kset).u.value;
                if (di->backlog_oneshot <= 2) {
                        ulogd_log(ULOGD_ERROR,
@@ -189,9 +194,6 @@ int ulogd_db_configure(struct ulogd_pluginstance *upi,
                di->backlog_full = 0;
        }
 
-       /* check ring option */
-       di->ring.size = ringsize_ce(upi->config_kset).u.value;
-
        return ret;
 }