Sysfs

sysfs 塊大小計數

  • August 5, 2016

文件是否位於:

/sys/block/<xxx>/size

不斷引用 512 字節的塊數,還是有什麼特殊情況導致塊數發生變化?

我很好奇,因為:

thinkpad :: /sys/block/sdf % cat queue/physical_block_size                                                                                                                         
4096
thinkpad :: /sys/block/sdf % cat queue/logical_block_size                                                                                                                          
4096
thinkpad :: /sys/block/sdf % cat size                                                                                                                                              
15408640

15408640 * 512 bytes / 1000000000 = ~8GB-> 我的設備大小,正確,但設備是 4K 塊設備。

size條目返回塊設備結構的nr_sects欄位。傳統上,在 Unix 磁碟大小上下文中,“扇區”或“塊”表示 512 字節,而不管底層硬體的製造商可能將什麼稱為“扇區”或“塊”。我找不到權威文件,但查看 Linux 原始碼(例如12)看起來該nr_sects欄位確實以 512 字節為單位表示。

您可以用另一種方​​式處理它:由於沒有文件報告該單位,它必須是一個常量單位,否則應用程序將不知道​​該值的含義。(queue子目錄不一定存在,它取決於塊設備。)

引用自:https://unix.stackexchange.com/questions/300151