From 32bcd588202ebc7c98bf4be9ebd8d3ab7bd27730 Mon Sep 17 00:00:00 2001 From: WKJay <1931048074@qq.com> Date: Thu, 3 Aug 2023 11:13:29 +0800 Subject: [PATCH] =?UTF-8?q?[DFS=5FV1]=20=E4=BF=AE=E5=A4=8Dclose=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E5=90=8E=E4=B8=8D=E9=87=8A=E6=94=BEfd=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E5=86=85=E5=AD=98=E8=A2=AB=E6=B0=B8=E4=B9=85=E5=8D=A0?= =?UTF-8?q?=E7=94=A8=E4=B8=94=E6=97=A0=E6=B3=95=E9=87=8A=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/dfs/dfs_v1/filesystems/elmfat/dfs_elm.c | 8 +++----- components/dfs/dfs_v1/src/dfs_file.c | 7 ------- components/dfs/dfs_v1/src/dfs_posix.c | 3 +-- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/components/dfs/dfs_v1/filesystems/elmfat/dfs_elm.c b/components/dfs/dfs_v1/filesystems/elmfat/dfs_elm.c index e9680e07bfa..5adba36f165 100644 --- a/components/dfs/dfs_v1/filesystems/elmfat/dfs_elm.c +++ b/components/dfs/dfs_v1/filesystems/elmfat/dfs_elm.c @@ -491,11 +491,9 @@ int dfs_elm_close(struct dfs_file *file) RT_ASSERT(fd != RT_NULL); result = f_close(fd); - if (result == FR_OK) - { - /* release memory */ - rt_free(fd); - } + + /* release memory */ + rt_free(fd); } return elm_result_to_dfs(result); diff --git a/components/dfs/dfs_v1/src/dfs_file.c b/components/dfs/dfs_v1/src/dfs_file.c index e8594d8baea..3a7e626f208 100644 --- a/components/dfs/dfs_v1/src/dfs_file.c +++ b/components/dfs/dfs_v1/src/dfs_file.c @@ -309,13 +309,6 @@ int dfs_file_close(struct dfs_file *fd) result = vnode->fops->close(fd); } - /* close fd error, return */ - if (result < 0) - { - dfs_fm_unlock(); - return result; - } - if (vnode->ref_count == 1) { /* remove from hash */ diff --git a/components/dfs/dfs_v1/src/dfs_posix.c b/components/dfs/dfs_v1/src/dfs_posix.c index b0b7e3dd16b..07276a8c956 100644 --- a/components/dfs/dfs_v1/src/dfs_posix.c +++ b/components/dfs/dfs_v1/src/dfs_posix.c @@ -146,6 +146,7 @@ int close(int fd) } result = dfs_file_close(d); + fd_release(fd); if (result < 0) { @@ -154,8 +155,6 @@ int close(int fd) return -1; } - fd_release(fd); - return 0; } RTM_EXPORT(close);