对文件占用的物理块的非 root 访问

对文件占用的物理块的非 root 访问

ioctl()并可FIBMAP用于确定文件占用的物理块,给定可通过以下方式获得的逻辑块stat();但是,需要 root 访问权限。为什么需要 root 访问才能确定文件的磁盘位置,是否有任何不需要 root 的机制来获取相同的信息?对于引发此问题的用例,文件很小(平均约为 1 个块),因此仅了解第一个块的物理位置就足够了(间接块当然是不必要的)。必须以短顺序(尽可能快)访问大约 100,000 个此类文件,并且我想在传递到 I/O 调度程序队列之前根据磁盘位置进行预排序。排序依据inode是一种不需要 root 权限的可能性,但 inode 编号和磁盘位置之间的对应程度是概率性的,这意味着性能随对应强度的变化而变化。

相关内容