gpt4 book ai didi

linux - 来自结构请求的 LBA 起始地址对齐

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:57 26 4
gpt4 key购买 nike

我目前正在做 block 驱动程序。我在测试过程中注意到,如果我的平台是 RHEL6.x/CentOS6.x 我的结构请求开始了LBA/扇区始终对齐 8(例如 0、8、0x10、0x100、0x2508 等)这实际上是我设计的驱动程序和固件的最佳选择。看来结构请求总是在那里对齐。

另一方面,如果我在一些较旧的系统(如 Oracle 5.6)上测试我的驱动程序,结构请求的起始 LBA 似乎没有对齐8 - 大多数情况下 LBA 被偏移(例如 0x2507、300f、0x95bd500f、等等)

我的 block 队列设置甚至从 sysfs 中查看显示我的逻辑 block 大小和物理 block 大小分别为512和512,分别。所以我认为这与 4kB 无关部门。触发这种行为的环境可能是什么?是有一个请求队列或 gendisk 设置可以控制它,我可以没意识到?或者这取决于 FS 层?希望有人可以指出来。

谢谢!

最佳答案

这几乎可以肯定是因为您的分区在较新的系统上与 8 block 边界对齐,但在旧系统上不是(您可以使用 sfdisk 详细检查分区表)。

读取将以文件系统 block 大小为单位,这将是系统页面大小的倍数(在最常见的体系结构中为 4kB)。因此,如果您的文件系统从 block 设备的开头偏移了一个非 8 的倍数,则所有读取也将从 8 的倍数偏移此数量。

关于linux - 来自结构请求的 LBA 起始地址对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27345552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com