summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rdb.c3
-rw-r--r--src/redis.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/src/rdb.c b/src/rdb.c
index db9e814d5..251399992 100644
--- a/src/rdb.c
+++ b/src/rdb.c
@@ -1087,8 +1087,9 @@ void startLoading(FILE *fp) {
/* Load the DB */
server.loading = 1;
server.loading_start_time = time(NULL);
+ server.loading_loaded_bytes = 0;
if (fstat(fileno(fp), &sb) == -1) {
- server.loading_total_bytes = 1; /* just to avoid division by zero */
+ server.loading_total_bytes = 0;
} else {
server.loading_total_bytes = sb.st_size;
}
diff --git a/src/redis.c b/src/redis.c
index 7db1d72ee..3a9ab219e 100644
--- a/src/redis.c
+++ b/src/redis.c
@@ -2633,14 +2633,14 @@ sds genRedisInfoString(char *section) {
server.loading_loaded_bytes;
perc = ((double)server.loading_loaded_bytes /
- server.loading_total_bytes) * 100;
+ (server.loading_total_bytes+1)) * 100;
- elapsed = server.unixtime-server.loading_start_time;
+ elapsed = time(NULL)-server.loading_start_time;
if (elapsed == 0) {
eta = 1; /* A fake 1 second figure if we don't have
enough info */
} else {
- eta = (elapsed*remaining_bytes)/server.loading_loaded_bytes;
+ eta = (elapsed*remaining_bytes)/(server.loading_loaded_bytes+1);
}
info = sdscatprintf(info,