From 38823f081799b5bcdbb07fd56478f07cb865640d Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 5 Jan 2010 19:51:30 -0500 Subject: [PATCH] fixed a bug in bgsave when VM is off but still it was testing for obj->storage field --- redis.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/redis.c b/redis.c index e427ab60..56b5895d 100644 --- a/redis.c +++ b/redis.c @@ -2888,7 +2888,7 @@ static int rdbSave(char *filename) { } /* Save the key and associated value. This requires special * handling if the value is swapped out. */ - if (key->storage == REDIS_VM_MEMORY) { + if (!server.vm_enabled || key->storage == REDIS_VM_MEMORY) { /* Save type, key, value */ if (rdbSaveType(fp,o->type) == -1) goto werr; if (rdbSaveStringObject(fp,key) == -1) goto werr; @@ -6532,7 +6532,7 @@ static int rewriteAppendOnlyFile(char *filename) { int swapped; key = dictGetEntryKey(de); - if (key->storage == REDIS_VM_MEMORY) { + if (!server.vm_enabled || key->storage == REDIS_VM_MEMORY) { o = dictGetEntryVal(de); swapped = 0; } else { @@ -6889,7 +6889,7 @@ static int vmSwapObject(robj *key, robj *val) { static robj *vmGenericLoadObject(robj *key, int preview) { robj *val; - assert(key->storage == REDIS_VM_SWAPPED); + redisAssert(key->storage == REDIS_VM_SWAPPED); if (fseeko(server.vm_fp,key->vm.page*server.vm_page_size,SEEK_SET) == -1) { redisLog(REDIS_WARNING, "Unrecoverable VM problem in vmLoadObject(): can't seek: %s",