]> git.saurik.com Git - redis.git/blobdiff - src/migrate.c
Use more correct file permissions to open MDB files.
[redis.git] / src / migrate.c
index 3886f62cb7325970f6ed4adc0260260a0a4c0b5d..8cddc502a9110183660ce542c5d7a0d3e9f0ddaf 100644 (file)
@@ -253,7 +253,6 @@ socket_rd_err:
 }
 
 void stopKeyArchive(void) {
-    redisAssert(server.mdb_state == REDIS_MDB_ON);
     redisAssert(env != NULL);
 
     mdb_dbi_close(env, dbi);
@@ -264,7 +263,6 @@ void stopKeyArchive(void) {
 }
 
 int startKeyArchive(void) {
-    redisAssert(server.mdb_state == REDIS_MDB_OFF);
     redisAssert(env == NULL);
 
     int ret;
@@ -278,9 +276,9 @@ int startKeyArchive(void) {
     ret = mdb_env_set_maxdbs(env, 1);
     if (ret != 0) return ret;
 
-    mkdir(server.mdb_environment, 0644);
+    mkdir(server.mdb_environment, 0755);
 
-    ret = mdb_env_open(env, server.mdb_environment, MDB_FIXEDMAP | MDB_NOSYNC, 0664);
+    ret = mdb_env_open(env, server.mdb_environment, MDB_FIXEDMAP | MDB_NOSYNC, 0644);
     if (ret != 0) return ret;
 
     MDB_txn *txn;
@@ -311,7 +309,7 @@ int archive(redisDb *db, robj *key) {
         return 0;
 
     if (object->archived != 0)
-        return 0;
+        return 1;
 
     rio payload;
     createDumpPayload(&payload, object);