ll2_set_journal_mode(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | AUTHORS | SEE ALSO | REPORTING BUGS | AVAILABILITY

LL2_SET_JOURNAL_MODE(3)     Programmers Manual    LL2_SET_JOURNAL_MODE(3)

NAME         top

       ll2_set_journal_mode - set SQLite journal mode for lastlog2
       database

SYNOPSIS         top

       #include <lastlog2.h>

       int ll2_set_journal_mode(struct ll2_context *context, const char
       *mode, char **error);

DESCRIPTION         top

       The ll2_set_journal_mode() function sets the SQLite journal mode
       for the lastlog2 database associated with context to the specified
       mode.

       If context is NULL, the default database, defined in
       LL2_DEFAULT_DATABASE, will be taken.

       The journal mode setting is persistent and will be retained across
       database connections.

       Common journal modes include:

       •   WAL - Write-Ahead Logging mode (recommended for high
           concurrency)

       •   DELETE - Default mode, deletes journal file after commit

       •   TRUNCATE - Truncates journal file to zero length after commit

       •   PERSIST - Keeps journal file after commit

       •   MEMORY - Stores journal in memory

       •   OFF - Disables journaling (not recommended)

       WAL (Write-Ahead Logging) mode is recommended for high-concurrency
       scenarios as it allows readers and writers to operate concurrently
       without blocking each other. This significantly reduces database
       lock contention in environments with frequent SSH logins.

           struct ll2_context *ctx;
           char *error = NULL;

           ctx = ll2_new_context(NULL);
           if (!ctx) {
               fprintf(stderr, "Failed to create context\n");
               return 1;
           }

           if (ll2_set_journal_mode(ctx, "WAL", &error) != 0) {
               fprintf(stderr, "Failed to set journal mode: %s\n", error);
               free(error);
               ll2_unref_context(ctx);
               return 1;
           }

           ll2_unref_context(ctx);

RETURN VALUE         top

       Returns 0 on success, -ENOMEM or -1 on other failure. error
       contains an error string if the return value is -1. error is not
       guaranteed to contain an error string, could also be NULL. error
       should be freed by the caller.

AUTHORS         top

       Thorsten Kukuk <kukuk@suse.de>, WanBingjiang
       <wanbingjiang@webray.com.cn>

SEE ALSO         top

       lastlog2(3), ll2_get_journal_mode(3), ll2_new_context(3),
       ll2_unref_context(3), ll2_read_all(3), ll2_write_entry(3),
       ll2_read_entry(3), ll2_remove_entry(3), ll2_update_login_time(3),
       ll2_import_lastlog(3)

REPORTING BUGS         top

       For bug reports, use the issue tracker
       <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY         top

       The liblastlog2 library is part of the util-linux package since
       version 2.43. It can be downloaded from Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
       part of the util-linux (a random collection of Linux utilities)
       project. Information about the project can be found at 
       ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
       bug report for this manual page, send it to
       util-linux@vger.kernel.org. This page was obtained from the
       project's upstream Git repository
       ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
       2026-05-24. (At that time, the date of the most recent commit that
       was found in the repository was 2026-05-20.) If you discover any
       rendering problems in this HTML version of the page, or you
       believe there is a better or more up-to-date source for the page,
       or you have corrections or improvements to the information in this
       COLOPHON (which is not part of the original manual page), send a
       mail to man-pages@man7.org

util-linux 2.43.devel-739-eee2e 2026-05-24        LL2_SET_JOURNAL_MODE(3)

Pages that refer to this page: ll2_get_journal_mode(3)