目前,我的数据被组织在一个具有缓存目录的卷中(首先创建或传输所有文件)。之后,卷上有合适的目录,这些目录在其子目录中包含硬链接到缓存中文件的文件。这样做是为了使同一个 inode(文件)可以在多个目录中多次硬链接。
现在,当尝试清理卷时,我递归地遍历目录(而不是缓存)并基于某些标准,取消链接文件(这基本上将缓存条目的 inode 计数减少了 1)。当我删除最后一个硬链接(将计数从 2 减少到 1)时,有没有办法让我直接删除缓存条目。这样我就不必手动解析整个缓存目录来清除其中的任何 inode,这些 inode 的链接计数仅为 1。
我已经完成了取消链接/删除功能,但找不到任何特定的用途。是否有一些清除算法在内部处理这个问题,然后我可以尝试实现它。
对此的任何帮助将不胜感激。期待及时回复。