From: Cyrill Gorcunov <gorcunov@gmail.com> To: tml <tarantool-patches@dev.tarantool.org> Cc: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Subject: [Tarantool-patches] [PATCH v2 3/7] journal: add journal_entry_create helper Date: Thu, 23 Jul 2020 15:29:38 +0300 [thread overview] Message-ID: <20200723122942.196011-4-gorcunov@gmail.com> (raw) In-Reply-To: <20200723122942.196011-1-gorcunov@gmail.com> To create raw journal entries. We will use it to write confirm/rollback entries. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> --- src/box/journal.c | 8 ++------ src/box/journal.h | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/box/journal.c b/src/box/journal.c index fb81acb39..159e32ff3 100644 --- a/src/box/journal.c +++ b/src/box/journal.c @@ -51,11 +51,7 @@ journal_entry_new(size_t n_rows, struct region *region, return NULL; } - entry->write_async_cb = write_async_cb; - entry->complete_data = complete_data; - entry->approx_len = 0; - entry->n_rows = n_rows; - entry->res = -1; - + journal_entry_create(entry, n_rows, 0, write_async_cb, + complete_data); return entry; } diff --git a/src/box/journal.h b/src/box/journal.h index 74a5eb050..fc33fd6f0 100644 --- a/src/box/journal.h +++ b/src/box/journal.h @@ -80,6 +80,27 @@ struct journal_entry { struct region; +/** + * Initialize a new journal entry. + */ +static inline void +journal_entry_create(struct journal_entry *entry, size_t n_rows, + size_t approx_len, + void (*write_async_cb)(struct journal_entry *entry), + void *complete_data) +{ + /* + * fifo member is left untouched because + * it is used by the journal engine internally, + * no need to waste time here. + */ + entry->write_async_cb = write_async_cb; + entry->complete_data = complete_data; + entry->approx_len = approx_len; + entry->n_rows = n_rows; + entry->res = -1; +} + /** * Create a new journal entry. * -- 2.26.2
next prev parent reply other threads:[~2020-07-23 12:30 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-07-23 12:29 [Tarantool-patches] [PATCH v2 0/5] qsync: write CONFIRM/ROLLBACK without txn engine Cyrill Gorcunov 2020-07-23 12:29 ` [Tarantool-patches] [PATCH v2 1/7] journal: drop redundant declaration Cyrill Gorcunov 2020-07-23 12:29 ` [Tarantool-patches] [PATCH v2 2/7] wal: bind asynchronous write completion to an entry Cyrill Gorcunov 2020-07-23 22:10 ` Vladislav Shpilevoy 2020-07-24 17:48 ` Cyrill Gorcunov 2020-07-23 12:29 ` Cyrill Gorcunov [this message] 2020-07-23 22:10 ` [Tarantool-patches] [PATCH v2 3/7] journal: add journal_entry_create helper Vladislav Shpilevoy 2020-07-24 17:50 ` Cyrill Gorcunov 2020-07-23 12:29 ` [Tarantool-patches] [PATCH v2 4/7] qsync: provide a binary form of CONFIRM/ROLLBACK entries Cyrill Gorcunov 2020-07-23 22:10 ` Vladislav Shpilevoy 2020-07-24 18:07 ` Cyrill Gorcunov 2020-07-23 12:29 ` [Tarantool-patches] [PATCH v2 5/7] qsync: provide a way to encode preallocated " Cyrill Gorcunov 2020-07-23 22:10 ` Vladislav Shpilevoy 2020-07-24 18:08 ` Cyrill Gorcunov 2020-07-23 12:29 ` [Tarantool-patches] [PATCH v2 6/7] qsync: implement direct write of CONFIRM/ROLLBACK into a journal Cyrill Gorcunov 2020-07-23 22:10 ` Vladislav Shpilevoy 2020-07-24 18:16 ` Cyrill Gorcunov 2020-07-23 12:29 ` [Tarantool-patches] [PATCH v2 7/7] qsync: drop no longer used xrow_encode_confirm, rollback Cyrill Gorcunov 2020-07-23 22:13 ` [Tarantool-patches] [PATCH v2 0/5] qsync: write CONFIRM/ROLLBACK without txn engine Vladislav Shpilevoy 2020-07-24 18:16 ` Cyrill Gorcunov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200723122942.196011-4-gorcunov@gmail.com \ --to=gorcunov@gmail.com \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH v2 3/7] journal: add journal_entry_create helper' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox