sysfs 블록 크기 수

sysfs 블록 크기 수

파일이 다음 위치에 있습니까?

/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 블록 장치입니다.

답변1

이것size입구반품nr_sects대지블록 장치 구조. 전통적으로 Unix 디스크 크기의 맥락에서 "섹터" 또는 "블록"은 기본 하드웨어 제조업체가 "섹터" 또는 "블록"이라고 부르는 것과 관계없이 512바이트를 의미합니다. 권위 있는 문서를 찾을 수 없지만 Linux 소스 코드(예:1)2nr_sects) 필드가 실제로 512바이트 단위로 표현된 것으로 보입니다 .

다른 방법으로 처리할 수 있습니다. 보고 단위에 대한 문서가 없으므로 상수 단위여야 합니다. 그렇지 않으면 애플리케이션에서 값의 의미를 알 수 없습니다. ( queue하위 디렉터리는 반드시 존재하는 것은 아니며 블록 장치에 따라 다릅니다.)

관련 정보