summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/redis.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/redis.c b/src/redis.c
index a8ece8197..b8e0f8f5c 100644
--- a/src/redis.c
+++ b/src/redis.c
@@ -2416,6 +2416,13 @@ sds genRedisInfoString(char *section) {
"role:%s\r\n",
server.masterhost == NULL ? "master" : "slave");
if (server.masterhost) {
+ long long slave_repl_offset = 1;
+
+ if (server.master)
+ slave_repl_offset = server.master->reploff;
+ else if (server.cached_master)
+ slave_repl_offset = server.cached_master->reploff;
+
info = sdscatprintf(info,
"master_host:%s\r\n"
"master_port:%d\r\n"
@@ -2430,7 +2437,7 @@ sds genRedisInfoString(char *section) {
server.master ?
((int)(server.unixtime-server.master->lastinteraction)) : -1,
server.repl_state == REDIS_REPL_TRANSFER,
- server.master ? server.master->reploff : -1
+ slave_repl_offset
);
if (server.repl_state == REDIS_REPL_TRANSFER) {