Skip to content

fix(storage): invalid storage details cache after writing operations#2018

Open
hcrgm wants to merge 2 commits intoOpenListTeam:mainfrom
hcrgm:patch-2
Open

fix(storage): invalid storage details cache after writing operations#2018
hcrgm wants to merge 2 commits intoOpenListTeam:mainfrom
hcrgm:patch-2

Conversation

@hcrgm
Copy link
Contributor

@hcrgm hcrgm commented Jan 24, 2026

Description / 描述

对存储驱动写操作成功后(上传、删除等),清除存储驱动的详情缓存,使容量数据更实时、准确。

Motivation and Context / 背景

发生上传、删除等写入操作后,容量信息没有发生变化,需要重新加载存储、根目录刷新或等缓存自然过期才发生变化。

How Has This Been Tested? / 测试

Checklist / 检查清单

  • I have read the CONTRIBUTING document.
    我已阅读 CONTRIBUTING 文档。
  • I have formatted my code with go fmt or prettier.
    我已使用 go fmtprettier 格式化提交的代码。
  • I have added appropriate labels to this PR (or mentioned needed labels in the description if lacking permissions).
    我已为此 PR 添加了适当的标签(如无权限或需要的标签不存在,请在描述中说明,管理员将后续处理)。
  • I have requested review from relevant code authors using the "Request review" feature when applicable.
    我已在适当情况下使用"Request review"功能请求相关代码作者进行审查。
  • I have updated the repository accordingly (If it’s needed).
    我已相应更新了相关仓库(若适用)。

…enaming/copying/removing/puting

Signed-off-by: hcrgm <hcrgm@qq.com>
@hcrgm hcrgm changed the title fix(storage): invalid storage details cache after write operations fix(storage): invalid storage details cache after writing operations Jan 24, 2026
…an error

Signed-off-by: hcrgm <hcrgm@qq.com>
details, err, _ := detailsG.Do(storage.GetStorage().MountPath, func() (*model.StorageDetails, error) {
ret, err := wd.GetDetails(ctx)
if err != nil {
Cache.InvalidateStorageDetails(storage)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

此时Cache中还没有storage的容量信息,该语句产生的效果一定是什么也不做

if storage.Config().NoCache {
return nil, nil
}
Cache.InvalidateStorageDetails(storage)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

绝大多数情况下创建文件夹、移动、重命名都不会影响空间占用,不需要删除缓存

Cache.linkCache.DeleteKey(stdpath.Join(dstKey, srcRawObj.GetName()))
}
if !storage.Config().NoCache {
Cache.InvalidateStorageDetails(storage)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

同上

Cache.linkCache.DeleteKey(stdpath.Join(dirKey, dstName))
}
if !storage.Config().NoCache {
Cache.InvalidateStorageDetails(storage)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

同上

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants