diff --git a/src/box/vinyl.c b/src/box/vinyl.c
index 21a9388f587afa55c71cf2038b93153cab7de15d..c142df34fb703ceface2b83c708116d64719ccee 100644
--- a/src/box/vinyl.c
+++ b/src/box/vinyl.c
@@ -99,7 +99,7 @@ struct vy_env {
 	struct mempool      cursor_pool;
 };
 
-static inline struct srzone *
+static struct srzone *
 sr_zoneof(struct vy_env *r);
 
 struct vy_buf {
@@ -111,7 +111,7 @@ struct vy_buf {
 	char *e;
 };
 
-static inline void
+static void
 vy_buf_create(struct vy_buf *b)
 {
 	b->s = NULL;
@@ -119,7 +119,7 @@ vy_buf_create(struct vy_buf *b)
 	b->e = NULL;
 }
 
-static inline void
+static void
 vy_buf_destroy(struct vy_buf *b)
 {
 	if (unlikely(b->s == NULL))
@@ -130,22 +130,17 @@ vy_buf_destroy(struct vy_buf *b)
 	b->e = NULL;
 }
 
-static inline size_t
+static size_t
 vy_buf_size(struct vy_buf *b) {
 	return b->e - b->s;
 }
 
-static inline size_t
+static size_t
 vy_buf_used(struct vy_buf *b) {
 	return b->p - b->s;
 }
 
-static inline size_t
-vy_buf_unused(struct vy_buf *b) {
-	return b->e - b->p;
-}
-
-static inline int
+static int
 vy_buf_ensure(struct vy_buf *b, size_t size)
 {
 	if (likely(b->e - b->p >= (ptrdiff_t)size))
@@ -175,13 +170,13 @@ vy_buf_ensure(struct vy_buf *b, size_t size)
 	return 0;
 }
 
-static inline void
+static void
 vy_buf_advance(struct vy_buf *b, size_t size)
 {
 	b->p += size;
 }
 
-static inline int
+static int
 vy_buf_add(struct vy_buf *b, void *buf, size_t size)
 {
 	int rc = vy_buf_ensure(b, size);
@@ -192,13 +187,13 @@ vy_buf_add(struct vy_buf *b, void *buf, size_t size)
 	return 0;
 }
 
-static inline int
+static int
 vy_buf_in(struct vy_buf *b, void *v) {
 	assert(b->s != NULL);
 	return (char*)v >= b->s && (char*)v < b->p;
 }
 
-static inline void*
+static void*
 vy_buf_at(struct vy_buf *b, int size, int i) {
 	return b->s + size * i;
 }
@@ -222,13 +217,13 @@ vy_quota_delete(struct vy_quota*);
 static void
 vy_quota_enable(struct vy_quota*);
 
-static inline int64_t
+static int64_t
 vy_quota_used(struct vy_quota *q)
 {
 	return q->used;
 }
 
-static inline int
+static int
 vy_quota_used_percent(struct vy_quota *q)
 {
 	if (q->limit == 0)
@@ -259,7 +254,7 @@ struct vy_bufiter {
 	void *v;
 };
 
-static inline void
+static void
 vy_bufiter_open(struct vy_bufiter *bi, struct vy_buf *buf, int vsize)
 {
 	bi->buf = buf;
@@ -269,13 +264,13 @@ vy_bufiter_open(struct vy_bufiter *bi, struct vy_buf *buf, int vsize)
 		bi->v = NULL;
 }
 
-static inline int
+static int
 vy_bufiter_has(struct vy_bufiter *bi)
 {
 	return bi->v != NULL;
 }
 
-static inline void*
+static void*
 vy_bufiterref_get(struct vy_bufiter *bi)
 {
 	if (unlikely(bi->v == NULL))
@@ -283,7 +278,7 @@ vy_bufiterref_get(struct vy_bufiter *bi)
 	return *(void**)bi->v;
 }
 
-static inline void
+static void
 vy_bufiter_next(struct vy_bufiter *bi)
 {
 	if (unlikely(bi->v == NULL))
@@ -301,7 +296,7 @@ struct vy_avg {
 	char sz[32];
 };
 
-static inline void
+static void
 vy_avg_update(struct vy_avg *a, uint32_t v)
 {
 	a->count++;
@@ -313,7 +308,7 @@ vy_avg_update(struct vy_avg *a, uint32_t v)
 		a->max = v;
 }
 
-static inline void
+static void
 vy_avg_prepare(struct vy_avg *a)
 {
 	snprintf(a->sz, sizeof(a->sz), "%"PRIu32" %"PRIu32" %.1f",
@@ -406,7 +401,7 @@ struct vy_stat {
 	struct vy_avg    cursor_ops;
 };
 
-static inline struct vy_stat *
+static struct vy_stat *
 vy_stat_new()
 {
 	struct vy_stat *s = calloc(1, sizeof(*s));
@@ -417,13 +412,13 @@ vy_stat_new()
 	return s;
 }
 
-static inline void
+static void
 vy_stat_delete(struct vy_stat *s)
 {
 	free(s);
 }
 
-static inline void
+static void
 vy_stat_prepare(struct vy_stat *s)
 {
 	vy_avg_prepare(&s->get_read_disk);
@@ -441,7 +436,7 @@ struct vy_stat_get {
 	uint64_t read_latency;
 };
 
-static inline void
+static void
 vy_stat_get(struct vy_stat *s, const struct vy_stat_get *statget)
 {
 	s->get++;
@@ -450,7 +445,7 @@ vy_stat_get(struct vy_stat *s, const struct vy_stat_get *statget)
 	vy_avg_update(&s->get_latency, statget->read_latency);
 }
 
-static inline void
+static void
 vy_stat_tx(struct vy_stat *s, uint64_t start, uint32_t count,
 	   uint32_t write_count, bool is_rollback)
 {
@@ -463,7 +458,7 @@ vy_stat_tx(struct vy_stat *s, uint64_t start, uint32_t count,
 	vy_avg_update(&s->tx_latency, diff);
 }
 
-static inline void
+static void
 vy_stat_cursor(struct vy_stat *s, uint64_t start, int ops)
 {
 	uint64_t diff = clock_monotonic64() - start;
@@ -483,7 +478,7 @@ struct srzonemap {
 	struct srzone zones[11];
 };
 
-static inline void
+static void
 sr_zonemap_set(struct srzonemap *m, uint32_t percent, struct srzone *z)
 {
 	if (unlikely(percent > 100))
@@ -494,7 +489,7 @@ sr_zonemap_set(struct srzonemap *m, uint32_t percent, struct srzone *z)
 	snprintf(m->zones[p].name, sizeof(m->zones[p].name), "%d", percent);
 }
 
-static inline struct srzone*
+static struct srzone*
 sr_zonemap(struct srzonemap *m, uint32_t percent)
 {
 	if (unlikely(percent > 100))
@@ -532,16 +527,16 @@ struct vy_tuple {
 	char data[0];
 };
 
-static inline uint32_t
+static uint32_t
 vy_tuple_size(struct vy_tuple *v);
 
 static struct vy_tuple *
 vy_tuple_alloc(uint32_t size);
 
-static inline const char *
+static const char *
 vy_tuple_key_part(const char *tuple_data, uint32_t part_id);
 
-static inline int
+static int
 vy_tuple_compare(const char *tuple_data_a, const char *tuple_data_b,
 		 const struct key_def *key_def);
 
@@ -564,7 +559,7 @@ vy_tuple_is_not_found(struct vy_tuple *tuple)
 static struct vy_tuple *
 vy_tuple_extract_key_raw(struct vy_index *index, const char *tuple);
 
-struct PACKED svmergesrc {
+struct svmergesrc {
 	struct vy_iter *i;
 	struct vy_iter src;
 	uint8_t dup;
@@ -577,7 +572,7 @@ struct svmerge {
 	struct vy_buf buf;
 };
 
-static inline void
+static void
 sv_mergeinit(struct svmerge *m, struct vy_index *index,
 	     struct key_def *key_def)
 {
@@ -586,13 +581,13 @@ sv_mergeinit(struct svmerge *m, struct vy_index *index,
 	m->key_def = key_def;
 }
 
-static inline int
+static int
 sv_mergeprepare(struct svmerge *m, int count)
 {
 	return vy_buf_ensure(&m->buf, sizeof(struct svmergesrc) * count);
 }
 
-static inline void
+static void
 sv_mergefree(struct svmerge *m)
 {
 	struct svmergesrc *beg = (struct svmergesrc *)m->buf.s;
@@ -602,7 +597,7 @@ sv_mergefree(struct svmerge *m)
 	vy_buf_destroy(&m->buf);
 }
 
-static inline void
+static void
 sv_mergereset(struct svmerge *m)
 {
 	struct svmergesrc *beg = (struct svmergesrc *)m->buf.s;
@@ -612,7 +607,7 @@ sv_mergereset(struct svmerge *m)
 	m->buf.p = m->buf.s;
 }
 
-static inline struct svmergesrc*
+static struct svmergesrc*
 sv_mergeadd(struct svmerge *m, struct vy_iter *i)
 {
 	assert(m->buf.p < m->buf.e);
@@ -642,14 +637,14 @@ struct svmergeiter {
 	struct svmergesrc *v;
 };
 
-static inline void
+static void
 sv_mergeiter_dupreset(struct svmergeiter *i, struct svmergesrc *pos)
 {
 	for (struct svmergesrc *src = i->src; src != pos; src++)
 		src->dup = 0;
 }
 
-static inline void
+static void
 sv_mergeiter_next(struct svmergeiter *im)
 {
 	int direction = 0;
@@ -701,7 +696,7 @@ sv_mergeiter_next(struct svmergeiter *im)
 	im->v = found_src;
 }
 
-static inline int
+static int
 sv_mergeiter_open(struct svmergeiter *im, struct svmerge *m, enum vy_order o)
 {
 	im->merge = m;
@@ -713,13 +708,13 @@ sv_mergeiter_open(struct svmergeiter *im, struct svmerge *m, enum vy_order o)
 	return 0;
 }
 
-static inline int
+static int
 sv_mergeiter_has(struct svmergeiter *im)
 {
 	return im->v != NULL;
 }
 
-static inline struct vy_tuple *
+static struct vy_tuple *
 sv_mergeiter_get(struct svmergeiter *im)
 {
 	if (unlikely(im->v == NULL))
@@ -727,7 +722,7 @@ sv_mergeiter_get(struct svmergeiter *im)
 	return vy_iter_get(im->v->i);
 }
 
-static inline uint32_t
+static uint32_t
 sv_mergeisdup(struct svmergeiter *im)
 {
 	assert(im->v != NULL);
@@ -750,7 +745,7 @@ static struct vy_tuple *
 vy_apply_upsert(struct vy_tuple *upsert, struct vy_tuple *object,
 		struct vy_index *index, bool suppress_error);
 
-static inline int
+static int
 sv_readiter_upsert(struct svreaditer *i)
 {
 	assert(i->upsert_tuple == NULL);
@@ -795,7 +790,7 @@ sv_readiter_upsert(struct svreaditer *i)
 	return 0;
 }
 
-static inline void
+static void
 sv_readiter_next(struct svreaditer *im)
 {
 	if (im->upsert_tuple != NULL) {
@@ -837,7 +832,7 @@ sv_readiter_next(struct svreaditer *im)
 	}
 }
 
-static inline void
+static void
 sv_readiter_forward(struct svreaditer *im)
 {
 	if (im->next)
@@ -856,7 +851,7 @@ sv_readiter_forward(struct svreaditer *im)
 	}
 }
 
-static inline int
+static int
 sv_readiter_open(struct svreaditer *im, struct svmergeiter *merge,
 		 int64_t vlsn, int save_delete)
 {
@@ -872,7 +867,7 @@ sv_readiter_open(struct svreaditer *im, struct svmergeiter *merge,
 	return 0;
 }
 
-static inline void
+static void
 sv_readiter_close(struct svreaditer *im)
 {
 	if (im->upsert_tuple != NULL) {
@@ -881,7 +876,7 @@ sv_readiter_close(struct svreaditer *im)
 	}
 }
 
-static inline struct vy_tuple *
+static struct vy_tuple *
 sv_readiter_get(struct svreaditer *im)
 {
 	return im->v;
@@ -900,7 +895,7 @@ struct svwriteiter {
 	struct vy_tuple *upsert_tuple;
 };
 
-static inline int
+static int
 sv_writeiter_upsert(struct svwriteiter *i)
 {
 	assert(i->upsert_tuple == NULL);
@@ -949,7 +944,7 @@ sv_writeiter_upsert(struct svwriteiter *i)
 	return 0;
 }
 
-static inline void
+static void
 sv_writeiter_next(struct svwriteiter *im)
 {
 	if (im->upsert_tuple != NULL) {
@@ -1019,7 +1014,7 @@ sv_writeiter_next(struct svwriteiter *im)
 	}
 }
 
-static inline int
+static int
 sv_writeiter_open(struct svwriteiter *im, struct svmergeiter *merge,
 		  int64_t vlsn, int save_delete,
 		  int save_upsert)
@@ -1038,7 +1033,7 @@ sv_writeiter_open(struct svwriteiter *im, struct svmergeiter *merge,
 	return 0;
 }
 
-static inline void
+static void
 sv_writeiter_close(struct svwriteiter *im)
 {
 	if (im->upsert_tuple != NULL) {
@@ -1047,19 +1042,19 @@ sv_writeiter_close(struct svwriteiter *im)
 	}
 }
 
-static inline int
+static int
 sv_writeiter_has(struct svwriteiter *im)
 {
 	return im->v != NULL;
 }
 
-static inline struct vy_tuple *
+static struct vy_tuple *
 sv_writeiter_get(struct svwriteiter *im)
 {
 	return im->v;
 }
 
-static inline int
+static int
 sv_writeiter_is_duplicate(struct svwriteiter *im)
 {
 	assert(im->v != NULL);
@@ -1196,7 +1191,7 @@ vy_mem_delete(struct vy_mem *index)
 	free(index);
 }
 
-static inline int
+static int
 vy_mem_set(struct vy_mem *index, struct vy_tuple *v)
 {
 	/* see struct vy_mem comments */
@@ -1534,7 +1529,7 @@ struct vy_cursor {
 };
 
 
-static inline struct txv *
+static struct txv *
 txv_new(struct vy_index *index, struct vy_tuple *tuple, struct vy_tx *tx)
 {
 	struct txv *v = malloc(sizeof(struct txv));
@@ -1551,14 +1546,14 @@ txv_new(struct vy_index *index, struct vy_tuple *tuple, struct vy_tx *tx)
 	return v;
 }
 
-static inline void
+static void
 txv_delete(struct txv *v)
 {
 	vy_tuple_unref(v->tuple);
 	free(v);
 }
 
-static inline void
+static void
 txv_abort(struct txv *v)
 {
 	v->tx->is_aborted = true;
@@ -1806,7 +1801,7 @@ vy_tx_track(struct vy_tx *tx, struct vy_index *index,
 	return 0;
 }
 
-static inline void
+static void
 tx_manager_end(struct tx_manager *m, struct vy_tx *tx)
 {
 	bool was_oldest = tx == tx_tree_first(&m->tree);
@@ -1851,7 +1846,7 @@ struct vy_page {
 	uint32_t refs;
 };
 
-static inline void
+static void
 vy_page_init(struct vy_page *p, struct vy_page_info *info, char *data)
 {
 	p->info = info;
@@ -1859,14 +1854,14 @@ vy_page_init(struct vy_page *p, struct vy_page_info *info, char *data)
 	p->refs = 1;
 }
 
-static inline struct vy_tuple_info*
+static struct vy_tuple_info*
 sd_pagev(struct vy_page *p, uint32_t pos)
 {
 	assert(pos < p->info->count);
 	return (struct vy_tuple_info*)(p->data + sizeof(struct vy_tuple_info) * pos);
 }
 
-static inline void*
+static void*
 sd_pagepointer(struct vy_page *p, struct vy_tuple_info *v)
 {
 	assert((sizeof(struct vy_tuple_info) * p->info->count) + v->offset <=
@@ -1875,13 +1870,13 @@ sd_pagepointer(struct vy_page *p, struct vy_tuple_info *v)
 	       + v->offset;
 }
 
-static inline char *
+static char *
 vy_run_index_min_key(struct vy_run_index *i, struct vy_page_info *p)
 {
 	return i->minmax.s + p->min_key_offset;
 }
 
-static inline void
+static void
 vy_run_index_init(struct vy_run_index *i)
 {
 	vy_buf_create(&i->pages);
@@ -1889,14 +1884,14 @@ vy_run_index_init(struct vy_run_index *i)
 	memset(&i->info, 0, sizeof(i->info));
 }
 
-static inline void
+static void
 vy_run_index_destroy(struct vy_run_index *i)
 {
 	vy_buf_destroy(&i->pages);
 	vy_buf_destroy(&i->minmax);
 }
 
-static inline struct vy_page_info *
+static struct vy_page_info *
 vy_run_index_get_page(struct vy_run_index *i, int pos)
 {
 	assert(pos >= 0);
@@ -1905,13 +1900,13 @@ vy_run_index_get_page(struct vy_run_index *i, int pos)
 		vy_buf_at(&i->pages, sizeof(struct vy_page_info), pos);
 }
 
-static inline struct vy_page_info *
+static struct vy_page_info *
 vy_run_index_first_page(struct vy_run_index *i)
 {
 	return vy_run_index_get_page(i, 0);
 }
 
-static inline uint32_t
+static uint32_t
 vy_run_index_total(struct vy_run_index *i)
 {
 	if (unlikely(i->pages.s == NULL))
@@ -1919,7 +1914,7 @@ vy_run_index_total(struct vy_run_index *i)
 	return i->info.total;
 }
 
-static inline uint32_t
+static uint32_t
 vy_run_index_size(struct vy_run_index *i)
 {
 	return sizeof(i->info) +
@@ -1932,7 +1927,7 @@ vy_index_dump_range_index(struct vy_index *index);
 static int
 vy_index_checkpoint_range_index(struct vy_index *index, int64_t lsn);
 
-static inline struct vy_run *
+static struct vy_run *
 vy_run_new()
 {
 	struct vy_run *run = (struct vy_run *)malloc(sizeof(struct vy_run));
@@ -1948,7 +1943,7 @@ vy_run_new()
 	return run;
 }
 
-static inline void
+static void
 vy_run_delete(struct vy_run *run)
 {
 	vy_run_index_destroy(&run->index);
@@ -2102,14 +2097,14 @@ vy_range_mem_min_lsn(struct vy_range *range)
 	return min_lsn;
 }
 
-static inline int
+static int
 vy_range_cmp(struct vy_range *range, void *key, struct key_def *key_def)
 {
 	assert(range->min_key != NULL);
 	return vy_tuple_compare(range->min_key->data, key, key_def);
 }
 
-static inline int
+static int
 vy_range_cmpnode(struct vy_range *n1, struct vy_range *n2, struct key_def *key_def)
 {
 	if (n1 == n2)
@@ -2118,7 +2113,7 @@ vy_range_cmpnode(struct vy_range *n1, struct vy_range *n2, struct key_def *key_d
 	return vy_tuple_compare(n1->min_key->data, n2->min_key->data, key_def);
 }
 
-static inline uint64_t
+static uint64_t
 vy_range_size(struct vy_range *range)
 {
 	uint64_t size = 0;
@@ -2201,7 +2196,7 @@ vy_range_tree_key_cmp(vy_range_tree_t *rbtree,
 	return (-vy_range_cmp(b, a->data, key_def));
 }
 
-static inline void
+static void
 vy_index_delete(struct vy_index *index);
 
 struct vy_rangeiter {
@@ -2212,7 +2207,7 @@ struct vy_rangeiter {
 	int key_size;
 };
 
-static inline void
+static void
 vy_rangeiter_open(struct vy_rangeiter *itr, struct vy_index *index,
 		  enum vy_order order, char *key, int key_size)
 {
@@ -2252,13 +2247,13 @@ vy_rangeiter_open(struct vy_rangeiter *itr, struct vy_index *index,
 	assert(itr->cur_range != NULL);
 }
 
-static inline struct vy_range *
+static struct vy_range *
 vy_rangeiter_get(struct vy_rangeiter *ii)
 {
 	return ii->cur_range;
 }
 
-static inline void
+static void
 vy_rangeiter_next(struct vy_rangeiter *ii)
 {
 	switch (ii->order) {
@@ -2648,7 +2643,7 @@ vy_range_redistribute(struct vy_index *index, struct vy_range *range,
 	return 0;
 }
 
-static inline void
+static void
 vy_range_redistribute_set(struct vy_index *index, uint64_t now, struct vy_tuple *v)
 {
 	/* match range */
@@ -2708,7 +2703,7 @@ vy_range_splitfree(struct rlist *result)
 	return 0;
 }
 
-static inline int
+static int
 vy_range_split(struct vy_index *index,
 	       struct svmergeiter *merge_iter,
 	       uint64_t  size_node,
@@ -2777,7 +2772,7 @@ vy_range_new(struct vy_index *index)
 	return range;
 }
 
-static inline int
+static int
 vy_range_close(struct vy_range *range)
 {
 	int rcret = 0;
@@ -2789,7 +2784,7 @@ vy_range_close(struct vy_range *range)
 	return rcret;
 }
 
-static inline int
+static int
 vy_range_recover(struct vy_range *range)
 {
 	int fd = range->fd;
@@ -2872,7 +2867,7 @@ vy_range_create(struct vy_range *range, struct vy_index *index)
 	return -1;
 }
 
-static inline void
+static void
 vy_range_delete_runs(struct vy_range *range)
 {
 	struct vy_run *p = range->run;
@@ -3346,7 +3341,7 @@ struct vy_task {
 	struct stailq_entry link;
 };
 
-static inline struct vy_task *
+static struct vy_task *
 vy_task_new(struct mempool *pool, struct vy_index *index,
 	    const struct vy_task_ops *ops)
 {
@@ -3362,7 +3357,7 @@ vy_task_new(struct mempool *pool, struct vy_index *index,
 	return task;
 }
 
-static inline void
+static void
 vy_task_delete(struct mempool *pool, struct vy_task *task)
 {
 	if (task->index) {
@@ -3670,7 +3665,7 @@ vy_task_drop_new(struct mempool *pool, struct vy_index *index)
 
 #define HEAP_NAME vy_dump_heap
 
-static inline int
+static int
 heap_dump_less(struct heap_node *a, struct heap_node *b)
 {
 	const struct vy_range *left =
@@ -3689,7 +3684,7 @@ heap_dump_less(struct heap_node *a, struct heap_node *b)
 
 #define HEAP_NAME vy_compact_heap
 
-static inline int
+static int
 heap_compact_less(struct heap_node *a, struct heap_node *b)
 {
 	const struct vy_range *left =
@@ -3886,7 +3881,7 @@ vy_scheduler_remove_range(struct vy_scheduler *scheduler,
 	range->nodecompact.pos = UINT32_MAX;
 }
 
-static inline int
+static int
 vy_scheduler_peek_checkpoint(struct vy_scheduler *scheduler,
 			     int64_t checkpoint_lsn, struct vy_task **ptask)
 {
@@ -3913,7 +3908,7 @@ vy_scheduler_peek_checkpoint(struct vy_scheduler *scheduler,
 	return 0; /* nothing to do */
 }
 
-static inline int
+static int
 vy_scheduler_peek_dump(struct vy_scheduler *scheduler, struct vy_task **ptask)
 {
 	/* try to peek a range with a biggest in-memory index */
@@ -3936,7 +3931,7 @@ vy_scheduler_peek_dump(struct vy_scheduler *scheduler, struct vy_task **ptask)
 	return 0; /* nothing to do */
 }
 
-static inline int
+static int
 vy_scheduler_peek_age(struct vy_scheduler *scheduler, uint32_t max_age,
 		      struct vy_task **ptask)
 {
@@ -3967,7 +3962,7 @@ vy_scheduler_peek_age(struct vy_scheduler *scheduler, uint32_t max_age,
 	return 0; /* nothing to do */
 }
 
-static inline int
+static int
 vy_scheduler_peek_compact(struct vy_scheduler *scheduler, uint32_t run_count,
 			  struct vy_task **ptask)
 {
@@ -3992,7 +3987,7 @@ vy_scheduler_peek_compact(struct vy_scheduler *scheduler, uint32_t run_count,
 	return 0; /* nothing to do */
 }
 
-static inline int
+static int
 vy_scheduler_peek_shutdown(struct vy_scheduler *scheduler,
 			   struct vy_index *index, struct vy_task **ptask)
 {
@@ -4486,7 +4481,7 @@ static void vy_conf_delete(struct vy_conf *c)
 	free(c);
 }
 
-static inline struct srzone *
+static struct srzone *
 sr_zoneof(struct vy_env *env)
 {
 	int p = vy_quota_used_percent(env->quota);
@@ -4499,7 +4494,7 @@ vy_index_read(struct vy_index*, struct vy_tuple*, enum vy_order order,
 
 /** {{{ Introspection */
 
-static inline struct vy_info_node *
+static struct vy_info_node *
 vy_info_append(struct vy_info_node *root, const char *key)
 {
 	assert(root->childs_n < root->childs_cap);
@@ -4510,7 +4505,7 @@ vy_info_append(struct vy_info_node *root, const char *key)
 	return node;
 }
 
-static inline void
+static void
 vy_info_append_u32(struct vy_info_node *root, const char *key, uint32_t value)
 {
 	struct vy_info_node *node = vy_info_append(root, key);
@@ -4518,7 +4513,7 @@ vy_info_append_u32(struct vy_info_node *root, const char *key, uint32_t value)
 	node->val_type = VINYL_U32;
 }
 
-static inline void
+static void
 vy_info_append_u64(struct vy_info_node *root, const char *key, uint64_t value)
 {
 	struct vy_info_node *node = vy_info_append(root, key);
@@ -4526,7 +4521,7 @@ vy_info_append_u64(struct vy_info_node *root, const char *key, uint64_t value)
 	node->val_type = VINYL_U64;
 }
 
-static inline void
+static void
 vy_info_append_str(struct vy_info_node *root, const char *key,
 		   const char *value)
 {
@@ -4535,7 +4530,7 @@ vy_info_append_str(struct vy_info_node *root, const char *key,
 	node->val_type = VINYL_STRING;
 }
 
-static inline int
+static int
 vy_info_reserve(struct vy_info *info, struct vy_info_node *node, int size)
 {
 	node->childs = region_alloc(&info->allocator,
@@ -4550,7 +4545,7 @@ vy_info_reserve(struct vy_info *info, struct vy_info_node *node, int size)
 	return 0;
 }
 
-static inline int
+static int
 vy_info_append_global(struct vy_info *info, struct vy_info_node *root)
 {
 	struct vy_info_node *node = vy_info_append(root, "vinyl");
@@ -4561,7 +4556,7 @@ vy_info_append_global(struct vy_info *info, struct vy_info_node *root)
 	return 0;
 }
 
-static inline int
+static int
 vy_info_append_memory(struct vy_info *info, struct vy_info_node *root)
 {
 	struct vy_info_node *node = vy_info_append(root, "memory");
@@ -4573,7 +4568,7 @@ vy_info_append_memory(struct vy_info *info, struct vy_info_node *root)
 	return 0;
 }
 
-static inline int
+static int
 vy_info_append_compaction(struct vy_info *info, struct vy_info_node *root)
 {
 	int childs_cnt = 0;
@@ -4596,7 +4591,7 @@ vy_info_append_compaction(struct vy_info *info, struct vy_info_node *root)
 	return 0;
 }
 
-static inline int
+static int
 vy_info_append_scheduler(struct vy_info *info, struct vy_info_node *root)
 {
 	struct vy_info_node *node = vy_info_append(root, "scheduler");
@@ -4610,7 +4605,7 @@ vy_info_append_scheduler(struct vy_info *info, struct vy_info_node *root)
 	return 0;
 }
 
-static inline int
+static int
 vy_info_append_performance(struct vy_info *info, struct vy_info_node *root)
 {
 	struct vy_info_node *node = vy_info_append(root, "performance");
@@ -4638,7 +4633,7 @@ vy_info_append_performance(struct vy_info *info, struct vy_info_node *root)
 	return 0;
 }
 
-static inline int
+static int
 vy_info_append_metric(struct vy_info *info, struct vy_info_node *root)
 {
 	struct vy_info_node *node = vy_info_append(root, "metric");
@@ -4649,7 +4644,7 @@ vy_info_append_metric(struct vy_info *info, struct vy_info_node *root)
 	return 0;
 }
 
-static inline int
+static int
 vy_info_append_indices(struct vy_info *info, struct vy_info_node *root)
 {
 	struct vy_index *o;
@@ -5135,7 +5130,7 @@ vy_index_new(struct vy_env *e, struct key_def *key_def,
 	return NULL;
 }
 
-static inline void
+static void
 vy_index_delete(struct vy_index *index)
 {
 	read_set_iter(&index->read_set, NULL, read_set_delete_cb, NULL);
@@ -5165,7 +5160,7 @@ enum {
 	VY_TUPLE_KEY_MISSING = UINT32_MAX,
 };
 
-static inline uint32_t
+static uint32_t
 vy_tuple_size(struct vy_tuple *v)
 {
 	return sizeof(struct vy_tuple) + v->size;
@@ -5395,7 +5390,7 @@ vy_tuple_unref(struct vy_tuple *tuple)
 /**
  * Extract key from tuple by part_id
  */
-static inline const char *
+static const char *
 vy_tuple_key_part(const char *tuple_data, uint32_t part_id)
 {
 	uint32_t *offsets = (uint32_t *) tuple_data;
@@ -5423,7 +5418,7 @@ vy_tuple_key_is_full(const char *tuple_data, const struct key_def *key_def)
 /**
  * Compare two tuples
  */
-static inline int
+static int
 vy_tuple_compare(const char *tuple_data_a, const char *tuple_data_b,
 		 const struct key_def *key_def)
 {
@@ -5611,7 +5606,7 @@ vy_apply_upsert(struct vy_tuple *new_tuple, struct vy_tuple *old_tuple,
 
 /* }}} Upsert */
 
-static inline void
+static void
 vy_tx_set(struct vy_tx *tx, struct vy_index *index,
 	    struct vy_tuple *tuple, uint8_t flags)
 {