파티션 ioctl 문제

파티션 ioctl 문제

ioctl - 을 통해 디스크 캐시에 쓰기 요청을 하는 파일 경로가 있습니다 ioctl(fd, SG_IO, &ioHdr).

printk: ioctl 2285를 파티션으로 보내세요! ? 파티션이 속한 블록 장치를 확인하는 방법은 무엇입니까? 파티션 경로를 디스크 경로로 바꾸고 싶습니다.

답변1

일반적으로 파티션이 단일 블록 장치에 속한다고 누가 말합니까? 일반적으로 일종의 장치 관리자(예: mdraid, lvm)를 사용하여 여러 디스크에 걸쳐 확장됩니다.

어쨌든 단일 블록 장치에 있는 경우:

당신은 /sys/block/nvme0n1/dev당신에게 메시지를 제공합니다 major:minor; 그러면 "상위 장치"는 입니다 . 따라서 장치의 "표준 이름"을 읽기 위해 major:0읽을 수 있습니다 ./sys/dev/block/${major}:0/device

만약에(이것은 강력한 if입니다!) /dev에 주 및 부 항목이 입니다 ${major},0.

관련 정보