From: antirez Date: Fri, 15 Jan 2010 19:02:18 +0000 (-0500) Subject: Create swap file only if not exists X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/6fa987e390f12388e1597ab5c46f58618c859912?hp=459f52a8aadefc39bd2fe0fb75b9b29b09e1936e Create swap file only if not exists --- diff --git a/redis.c b/redis.c index 54ed0031..9484b75a 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);