Linux ext4 “extents” 属性

Linux ext4 “extents” 属性

我注意到e安装在 ext4 文件系统的 Linux 机器上的几个文件/目录的属性。

[[email protected] ~]$ lsattr -d /bin
-------------e- /bin

根据chattr(1)

'e' 属性表示文件正在使用范围来映射磁盘上的块。它不能使用 chattr(1) 删除。

这有什么不同,更重要的是,这个细节有什么重要性——具体来说,为什么这个细节重要到需要作为文件属性报告?在什么情况下,我应该根据这个文件“正在使用范围来映射磁盘上的块”的知识来改变我的行为?大概这是我需要知道的事情,否则就不会这么明显了,对吧?

答案1

我认为范围标志作为属性公开主要是为了将其替换为chattr,这将导致 ext4 驱动程序使用扩展而不是块列表重新分配文件。如果您已将现有的 ext3 文件系统转换为 ext4(通过使用tune2fs启用新功能标志),则可能需要将现有文件转换为使用扩展,这就是执行此操作的方法。

ext4 文件系统上新创建的文件总是使用范围(据我所知),所以如果您的文件系统是作为 ext4 创建的(而不是从 ext3 转换而来),那么所有内容都应该已经具有范围属性,所以您不必担心它。

本文了解更多信息。

相关内容