]> git.saurik.com Git - redis.git/commitdiff
diskstore FLUSH* fixed
authorantirez <antirez@gmail.com>
Mon, 3 Jan 2011 09:51:45 +0000 (10:51 +0100)
committerantirez <antirez@gmail.com>
Mon, 3 Jan 2011 09:51:45 +0000 (10:51 +0100)
src/diskstore.c

index 84432409cb037bcad865c9a8a1e461a7c81d719d..ce58dffba8121d215670d753cdb3b7b2ff5134ee 100644 (file)
@@ -282,6 +282,8 @@ void dsFlushOneDir(char *path, int dbid) {
         redisPanic("Unrecoverable Disk store errore. Existing.");
     }
     while(1) {
+        char buf[1024];
+
         readdir_r(dir,&de,&dp);
         if (dp == NULL) break;
         if (dp->d_name[0] == '.') continue;
@@ -298,9 +300,12 @@ void dsFlushOneDir(char *path, int dbid) {
             id[len] = '\0';
             if (atoi(id) != dbid) continue; /* skip this file */
         }
-        if (unlink(dp->d_name) == -1) {
+        
+        /* Finally unlink the file */
+        snprintf(buf,1024,"%s/%s",path,dp->d_name);
+        if (unlink(buf) == -1) {
             redisLog(REDIS_WARNING,
-                "Can't unlink %s: %s", path, strerror(errno));
+                "Can't unlink %s: %s", buf, strerror(errno));
             redisPanic("Unrecoverable Disk store errore. Existing.");
         }
     }