diff --git a/src/box/engine.c b/src/box/engine.c index 8dc0df1d01d4e6396a18b2097aaef450910879d2..88ed928613ce3594a03ed7a9aded78152084e36b 100644 --- a/src/box/engine.c +++ b/src/box/engine.c @@ -129,11 +129,11 @@ engine_end_recovery(void) } int -engine_begin_checkpoint(void) +engine_begin_checkpoint(bool is_scheduled) { struct engine *engine; engine_foreach(engine) { - if (engine->vtab->begin_checkpoint(engine) < 0) + if (engine->vtab->begin_checkpoint(engine, is_scheduled) < 0) return -1; } return 0; @@ -356,9 +356,10 @@ generic_engine_end_recovery(struct engine *engine) } int -generic_engine_begin_checkpoint(struct engine *engine) +generic_engine_begin_checkpoint(struct engine *engine, bool is_scheduled) { (void)engine; + (void)is_scheduled; return 0; } diff --git a/src/box/engine.h b/src/box/engine.h index 07d7fac9b078ea49c1f3212a3b0af43e2c7d053c..c4da01e139f7b8af73012ea7255a65d39243cfcc 100644 --- a/src/box/engine.h +++ b/src/box/engine.h @@ -157,7 +157,7 @@ struct engine_vtab { * engine (snapshot is a memtx idea of a checkpoint). * Must not yield. */ - int (*begin_checkpoint)(struct engine *); + int (*begin_checkpoint)(struct engine *, bool is_scheduled); /** * Wait for a checkpoint to complete. */ @@ -354,7 +354,7 @@ void engine_complete_join(struct engine_join_ctx *ctx); int -engine_begin_checkpoint(void); +engine_begin_checkpoint(bool is_scheduled); /** * Create a checkpoint. @@ -396,7 +396,7 @@ int generic_engine_begin_initial_recovery(struct engine *, const struct vclock *); int generic_engine_begin_final_recovery(struct engine *); int generic_engine_end_recovery(struct engine *); -int generic_engine_begin_checkpoint(struct engine *); +int generic_engine_begin_checkpoint(struct engine *, bool); int generic_engine_wait_checkpoint(struct engine *, const struct vclock *); void generic_engine_commit_checkpoint(struct engine *, const struct vclock *); void generic_engine_abort_checkpoint(struct engine *); diff --git a/src/box/gc.c b/src/box/gc.c index cbcdf7d12a6b2df07ca7f2786f1620f68b4f0adc..8e8ffea758bc905a259e52d33d1016f633ffaf40 100644 --- a/src/box/gc.c +++ b/src/box/gc.c @@ -377,7 +377,7 @@ gc_add_checkpoint(const struct vclock *vclock) } static int -gc_do_checkpoint(void) +gc_do_checkpoint(bool is_scheduled) { int rc; struct wal_checkpoint checkpoint; @@ -389,7 +389,7 @@ gc_do_checkpoint(void) * Rotate WAL and call engine callbacks to create a checkpoint * on disk for each registered engine. */ - rc = engine_begin_checkpoint(); + rc = engine_begin_checkpoint(is_scheduled); if (rc != 0) goto out; rc = wal_begin_checkpoint(&checkpoint); @@ -436,7 +436,7 @@ gc_checkpoint(void) gc.checkpoint_schedule.interval); fiber_wakeup(gc.checkpoint_fiber); - if (gc_do_checkpoint() != 0) + if (gc_do_checkpoint(false) != 0) return -1; /* @@ -506,7 +506,7 @@ gc_checkpoint_fiber_f(va_list ap) */ continue; } - if (gc_do_checkpoint() != 0) + if (gc_do_checkpoint(true) != 0) diag_log(); } return 0; diff --git a/src/box/memtx_engine.c b/src/box/memtx_engine.c index 79dd4cfc8e18c27cf62e95f6e19250c5e13efd23..6ce8cacaa9229b0e8b58d42f747df388d676f01f 100644 --- a/src/box/memtx_engine.c +++ b/src/box/memtx_engine.c @@ -619,8 +619,9 @@ checkpoint_f(va_list ap) } static int -memtx_engine_begin_checkpoint(struct engine *engine) +memtx_engine_begin_checkpoint(struct engine *engine, bool is_scheduled) { + (void) is_scheduled; struct memtx_engine *memtx = (struct memtx_engine *)engine; assert(memtx->checkpoint == NULL); diff --git a/src/box/vinyl.c b/src/box/vinyl.c index 950a5508c45e64e3d308fb03416e632a678977f9..8bd47e1d690c1e72e86b56ae1fd240a78fd6ec41 100644 --- a/src/box/vinyl.c +++ b/src/box/vinyl.c @@ -2728,8 +2728,9 @@ vinyl_engine_set_snap_io_rate_limit(struct engine *engine, double limit) /* {{{ Checkpoint */ static int -vinyl_engine_begin_checkpoint(struct engine *engine) +vinyl_engine_begin_checkpoint(struct engine *engine, bool is_scheduled) { + (void) is_scheduled; struct vy_env *env = vy_env(engine); assert(env->status == VINYL_ONLINE); /*