From: Cyrill Gorcunov <gorcunov@gmail.com>
To: tml <tarantool-patches@dev.tarantool.org>
Cc: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Subject: [Tarantool-patches] [PATCH 3/5] journal: add journal_entry_create helper
Date: Wed, 22 Jul 2020 18:33:57 +0300 [thread overview]
Message-ID: <20200722153359.134718-4-gorcunov@gmail.com> (raw)
In-Reply-To: <20200722153359.134718-1-gorcunov@gmail.com>
To create raw journal entries.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
---
src/box/journal.c | 8 ++------
src/box/journal.h | 20 ++++++++++++++++++++
2 files changed, 22 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..6e1160ad8 100644
--- a/src/box/journal.h
+++ b/src/box/journal.h
@@ -80,6 +80,26 @@ 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 set untouched since it is for
+ * an internal use of a journal engine.
+ */
+ 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-22 15:34 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-22 15:33 [Tarantool-patches] [PATCH 0/5] qsync: write confirm/rollback without txn engine Cyrill Gorcunov
2020-07-22 15:33 ` [Tarantool-patches] [PATCH 1/5] journal: drop redundant declaration Cyrill Gorcunov
2020-07-22 15:33 ` [Tarantool-patches] [PATCH 2/5] wal: bind asynchronous write completion to an entry Cyrill Gorcunov
2020-07-22 15:33 ` Cyrill Gorcunov [this message]
2020-07-22 15:33 ` [Tarantool-patches] [PATCH 4/5] qsync: implement direct write of confirm/rollback into a journal Cyrill Gorcunov
2020-07-22 15:41 ` Cyrill Gorcunov
2020-07-22 15:33 ` [Tarantool-patches] [PATCH 5/5] qsync: fix release build Cyrill Gorcunov
2020-07-23 11:41 ` [Tarantool-patches] [PATCH 0/5] qsync: write confirm/rollback without txn engine 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=20200722153359.134718-4-gorcunov@gmail.com \
--to=gorcunov@gmail.com \
--cc=tarantool-patches@dev.tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH 3/5] 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