我的设置如下:
我试图加快将整个卡格式化为ext4文件系统所需的时间。我的研究向我指出了mkfs.ext4的mkfs.ext4选项。如果我正确理解,这些选项将大大提高格式化SD卡分区的速度,但是这是通过将inode的初始化推迟到文件系统首次挂载时实现的。然后,内核将在后台执行此初始化(仅限v2.6.27+)。
手册页对此选项有如下一句:
这个标志明显加快了文件系统的初始化速度,但它要求内核在文件系统首次挂载时在后台完成对文件系统的初始化。
我的问题是,如果内核没有完成后台文件系统的初始化,会发生什么?
我已经通过使用lazy_itable_init=1选项格式化,挂载文件系统,然后在不久之后移除SD卡来测试这一点。当我再次插入卡时,我可以在没有问题的情况下挂载分区,并编写了几个包含零的100 MB文件。这些都是读回来的,是正确的。
这仅仅是一种侥幸,我能保证在这样一系列的事件之后我会看到这种行为吗?
发布于 2013-06-10 13:27:47
inode表被初始化为零的原因是为了确保以前碰巧存在的任何垃圾不会被e2fsck
误解为有效的inode。通常情况下,这不会产生任何影响,但是如果e2fsck
检测到错误,它可能会尝试通过启发式地识别inode来恢复,无论位图是否表示它们正在使用,因此它可能尝试恢复无效的inode,然后您必须从/lost+found中删除它们。
https://unix.stackexchange.com/questions/78934
复制