我们尝试将 15TB ext4 分区大小调整为 16TB,结果意外地遇到了 ext4_resize_fs() 的一个旧的(在新版本中已修复)差一错误,该错误导致 inode 计数由于溢出错误而重置为 0。
修复可以在这里看到:https://github.com/torvalds/linux/commit/4f2f76f751433908364ccff82f437a57d0e6e9b7
因此,我们的 16TB 分区目前无法使用。
有什么方法可以从这种情况中恢复过来吗?在这种情况下,即使对所有文件进行只读访问也绰绰有余。
答案1
处理此问题的最佳方法可能是使用 debugfsssv
命令编辑超级块,以将块计数和 inode 计数减少一组项目的价值,然后运行 e2fsck。这实质上撤消了调整大小的最后一部分,允许您再次使用文件系统。