ext4 文件系统上 inode 的垃圾收集
Garbage collection of inodes on ext4 filesystem
据我所知,在 ext4 文件系统中删除打开的文件时,我们只是取消链接,inode 保持分配状态,直到文件句柄关闭。
但是 inode 什么时候真正被释放了?如果系统在文件关闭前重启会怎样?
Linux 使用引用计数。这就是为什么在文件系统中不能有循环引用(目录硬链接)的原因。这会破坏引用计数。
当引用计数为零时释放索引节点。
万一发生电源故障,您的文件系统就会损坏。检查工具 e2fsck
可以找到那些不一致的地方并将文件移动到 lost+found
。然后你可以再次删除它们,希望不会断电。
一般情况下,写入缓存的电源故障总是会破坏您的文件系统。如果日志没有写入磁盘,即使日志记录也无济于事。
据我所知,在 ext4 文件系统中删除打开的文件时,我们只是取消链接,inode 保持分配状态,直到文件句柄关闭。
但是 inode 什么时候真正被释放了?如果系统在文件关闭前重启会怎样?
Linux 使用引用计数。这就是为什么在文件系统中不能有循环引用(目录硬链接)的原因。这会破坏引用计数。
当引用计数为零时释放索引节点。
万一发生电源故障,您的文件系统就会损坏。检查工具 e2fsck
可以找到那些不一致的地方并将文件移动到 lost+found
。然后你可以再次删除它们,希望不会断电。
一般情况下,写入缓存的电源故障总是会破坏您的文件系统。如果日志没有写入磁盘,即使日志记录也无济于事。