diff --git a/src/bio.c b/src/bio.c index fc4d56695..9199bf23a 100644 --- a/src/bio.c +++ b/src/bio.c @@ -129,6 +129,8 @@ void *bioProcessBackgroundJobs(void *arg) { /* Process the job accordingly to its type. */ if (type == REDIS_BIO_CLOSE_FILE) { close((long)job->arg1); + } else if (type == REDIS_BIO_AOF_FSYNC) { + fsync((long)job->arg1); } else { redisPanic("Wrong job type in bioProcessBackgroundJobs()."); } diff --git a/src/bio.h b/src/bio.h index ebd01ee28..22a9b33e1 100644 --- a/src/bio.h +++ b/src/bio.h @@ -7,4 +7,5 @@ time_t bioOlderJobOfType(int type); /* Background job opcodes */ #define REDIS_BIO_CLOSE_FILE 0 /* Deferred close(2) syscall. */ -#define REDIS_BIO_NUM_OPS 1 +#define REDIS_BIO_AOF_FSYNC 1 /* Deferred AOF fsync. */ +#define REDIS_BIO_NUM_OPS 2