From 76b74e19b6d0ca439c8a3f246e003cf46594a665 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Mon, 30 Mar 2020 12:44:08 +0800 Subject: [PATCH] [TD-71] revised to avoid double close when fd is 0. --- src/system/detail/src/vnodeFile.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/system/detail/src/vnodeFile.c b/src/system/detail/src/vnodeFile.c index e3d3c92ca1..d1ccbe625c 100644 --- a/src/system/detail/src/vnodeFile.c +++ b/src/system/detail/src/vnodeFile.c @@ -413,7 +413,7 @@ void vnodeRemoveFile(int vnode, int fileId) { vnodeGetDnameFromLname(headName, dataName, lastName, dHeadName, dDataName, dLastName); int fd = open(headName, O_RDWR | O_CREAT, S_IRWXU | S_IRWXG | S_IRWXO); - if (fd > 0) { + if (fd >= 0) { vnodeGetHeadFileHeaderInfo(fd, &headInfo); atomic_fetch_add_64(&(pVnode->vnodeStatistic.totalStorage), -headInfo.totalStorage); close(fd); @@ -428,7 +428,6 @@ void vnodeRemoveFile(int vnode, int fileId) { dPrint("vid:%d fileId:%d on disk: %s is removed, numOfFiles:%d maxFiles:%d", vnode, fileId, path, pVnode->numOfFiles, pVnode->maxFiles); - close(fd); } void vnodeCloseCommitFiles(SVnodeObj *pVnode) { -- GitLab