【问题标题】:Garbage collection of inodes on ext4 filesystemext4 文件系统上的 inode 垃圾收集
【发布时间】:2020-01-19 01:36:47
【问题描述】:

据我所知,在 ext4 文件系统中删除打开的文件时,我们只取消链接它,并且 inode 保持分配状态,直到文件句柄关闭。

但是 inode 是什么时候真正释放的呢?如果在文件关闭之前重启系统会发生什么?

【问题讨论】:

    标签: linux embedded inode ext4


    【解决方案1】:

    Linux 使用引用计数。这就是文件系统中不能有循环引用(目录硬链接)的原因。这会破坏引用计数。

    当引用计数为零时,inode 被释放。

    如果发生电源故障,您的文件系统已损坏。检查工具e2fsck 可以找到这些不一致并将文件移动到lost+found。然后您可以再次删除它们,希望不会出现电源故障。

    一般来说,写入缓存的电源故障总是会破坏您的文件系统。如果日志没有写入磁盘,即使是日志也无济于事。

    【讨论】:

    • 太棒了 - 所以如果正常的系统配置假定分区是只读的,并且 e2fsck 被禁用,这就解释了为什么 inode 从未被释放。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2012-06-28
    • 2011-10-22
    • 2011-01-21
    • 1970-01-01
    相关资源
    最近更新 更多