summaryrefslogtreecommitdiff
path: root/src/defrag.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/defrag.c')
-rw-r--r--src/defrag.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/defrag.c b/src/defrag.c
index e78c07929..dbdf2ab62 100644
--- a/src/defrag.c
+++ b/src/defrag.c
@@ -868,6 +868,9 @@ long defragKey(redisDb *db, dictEntry *de) {
} else if (ob->type == OBJ_LIST) {
if (ob->encoding == OBJ_ENCODING_QUICKLIST) {
defragged += defragQuicklist(db, de);
+ } else if (ob->encoding == OBJ_ENCODING_LISTPACK) {
+ if ((newzl = activeDefragAlloc(ob->ptr)))
+ defragged++, ob->ptr = newzl;
} else {
serverPanic("Unknown list encoding");
}