From 6fa987e390f12388e1597ab5c46f58618c859912 Mon Sep 17 00:00:00 2001 From: antirez Date: Fri, 15 Jan 2010 14:02:18 -0500 Subject: [PATCH] Create swap file only if not exists --- redis.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/redis.c b/redis.c index 54ed00313..9484b75a6 100644 --- a/redis.c +++ b/redis.c @@ -7035,9 +7035,13 @@ static void vmInit(void) { expandVmSwapFilename(); redisLog(REDIS_NOTICE,"Using '%s' as swap file",server.vm_swap_file); - server.vm_fp = fopen(server.vm_swap_file,"r+b"); + if ((server.vm_fp = fopen(server.vm_swap_file,"r+b")) == NULL) { + server.vm_fp = fopen(server.vm_swap_file,"w+b"); + } if (server.vm_fp == NULL) { - redisLog(REDIS_WARNING,"Impossible to open the swap file. Exiting."); + redisLog(REDIS_WARNING, + "Impossible to open the swap file: %s. Exiting.", + strerror(errno)); exit(1); } server.vm_fd = fileno(server.vm_fp);