Permalink
Browse files

ask for confirmation before AOF is truncated

  • Loading branch information...
1 parent e51fa06 commit 81330149f84f26c3e0492a296acfce7bd55d783f @pietern pietern committed May 5, 2010
Showing with 14 additions and 4 deletions.
  1. +14 −4 redis-check-aof.c
View
@@ -154,16 +154,26 @@ int main(int argc, char **argv) {
}
long pos = process(fp);
- if (pos < size) {
+ long diff = size-pos;
+ if (diff > 0) {
if (fix) {
+ char buf[2];
+ printf("This will shrink the AOF from %ld bytes, with %ld bytes, to %ld bytes\n",size,diff,pos);
+ printf("Continue? [y/N]: ");
+ if (fgets(buf,sizeof(buf),stdin) == NULL ||
+ strncasecmp(buf,"y",1) != 0) {
+ printf("Aborting...\n");
+ exit(1);
+ }
if (ftruncate(fileno(fp), pos) == -1) {
- printf("Could not truncate AOF to size %ld\n", pos);
+ printf("Failed to truncate AOF\n");
exit(1);
} else {
- printf("AOF succesfully truncated to %ld bytes\n", pos);
+ printf("Successfully truncated AOF\n");
}
} else {
- printf("First invalid operation at offset %ld\n", pos);
+ printf("AOF is not valid\n");
+ exit(1);
}
} else {
printf("AOF is valid\n");

0 comments on commit 8133014

Please sign in to comment.