Linux
ioctl 分區問題
該文件有一個路徑,我通過 ioctl - 發出寫入磁碟記憶體請求
ioctl(fd, SG_IO, &ioHdr)
。printk:將 ioctl 2285 發送到分區!?如何找出一個分區屬於哪個塊設備?我想用磁碟路徑替換分區路徑。
一般來說,誰說分區屬於單個塊設備?通常,它使用某種設備管理器(例如 mdraid、lvm)跨越多個磁碟。
無論如何,如果它在單個塊設備上:
你讀
/sys/block/nvme0n1/dev
;這會給你major:minor
一種資訊。你的“母設備”就是major:0
;因此,您可以閱讀/sys/dev/block/${major}:0/device
以獲取設備的“規範名稱”。如果(這是一個強大的 if!)/dev 中有一個條目,它的主要,次要為
${major},0
.