From 4512cf6a16e3241ee5edc1757336c7e33422d237 Mon Sep 17 00:00:00 2001 From: slguan Date: Thu, 28 Nov 2019 14:22:57 +0800 Subject: [PATCH] [TBASE-1252] --- src/system/detail/src/vnodeFile.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/system/detail/src/vnodeFile.c b/src/system/detail/src/vnodeFile.c index ecdb70de74..c0dac7ddaa 100644 --- a/src/system/detail/src/vnodeFile.c +++ b/src/system/detail/src/vnodeFile.c @@ -1817,7 +1817,15 @@ int vnodeInitFile(int vnode) { pVnode->fmagic = (uint64_t *)calloc(pVnode->maxFiles + 1, sizeof(uint64_t)); int fileId = pVnode->fileId; - for (int i = 0; i < pVnode->numOfFiles; ++i) { + /* + * The actual files will far exceed the files that need to exist + */ + if (pVnode->numOfFiles > pVnode->maxFiles) { + dError("vid:%d numOfFiles:%d should not larger than maxFiles:%d", vnode, pVnode->numOfFiles, pVnode->maxFiles); + } + + int numOfFiles = MIN(pVnode->numOfFiles, pVnode->maxFiles); + for (int i = 0; i < numOfFiles; ++i) { if (vnodeUpdateFileMagic(vnode, fileId) < 0) { if (pVnode->cfg.replications > 1) { pVnode->badFileId = fileId;