X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/c25e7eafef350a985ae236987131c5d56b30cfef..4d3bbf3590af7b575dd90512aa12706cea7ed899:/src/redis.c diff --git a/src/redis.c b/src/redis.c index 3dfef024..01ec0531 100644 --- a/src/redis.c +++ b/src/redis.c @@ -1091,6 +1091,7 @@ void initServer() { server.stat_rejected_conn = 0; server.unixtime = time(NULL); server.lastbgsave_status = REDIS_OK; + server.stop_writes_on_bgsave_err = 1; aeCreateTimeEvent(server.el, 1, serverCron, NULL, NULL); if (server.ipfd > 0 && aeCreateFileEvent(server.el,server.ipfd,AE_READABLE, acceptTcpHandler,NULL) == AE_ERR) oom("creating file event"); @@ -1378,7 +1379,9 @@ int processCommand(redisClient *c) { } /* Don't accept write commands if there are problems persisting on disk. */ - if (server.saveparamslen > 0 && server.lastbgsave_status == REDIS_ERR && + if (server.stop_writes_on_bgsave_err && + server.saveparamslen > 0 + && server.lastbgsave_status == REDIS_ERR && c->cmd->flags & REDIS_CMD_WRITE) { addReply(c, shared.bgsaveerr);