驱动器号如何分配给USB/HDD驱动器?我的意思是在代码级别。我查看了代码并注意到gendisk struct
具有disk_name。这给了sda/sdb/sdc....etc
。但是如果磁盘被检测为sda1, sdc1...
那么这些名称可以从结构/代码中获得?Linux内核中的USB设备和HDD设备的驱动器号
1
A
回答
1
sda/sdb等是表示整个驱动器的块设备。当驱动器分区后,您将看到sda1,sdc1等。这些块设备用于访问该分区。
我并不熟悉代码,但希望这可以帮助您指出正确的方向。
0
一个有用的调查起点代码明智的将是功能disk_name()
,在block/partition-generic.c
定义:
/*
* disk_name() is used by partition check code and the genhd driver.
* It formats the devicename of the indicated disk into
* the supplied buffer (of size at least 32), and returns
* a pointer to that same buffer (for convenience).
*/
char *disk_name(struct gendisk *hd, int partno, char *buf)
{
if (!partno)
snprintf(buf, BDEVNAME_SIZE, "%s", hd->disk_name);
else if (isdigit(hd->disk_name[strlen(hd->disk_name)-1]))
snprintf(buf, BDEVNAME_SIZE, "%sp%d", hd->disk_name, partno);
else
snprintf(buf, BDEVNAME_SIZE, "%s%d", hd->disk_name, partno);
return buf;
}
相关问题
- 1. Linux内核设备驱动程序中的filp_open
- 2. Linux内核设备型号 - 哪些设备正在关注它?
- 3. 关于Linux设备驱动
- 4. Linux设备驱动程序
- 5. Linux的USB驱动程序:探测已经插入的设备
- 6. 在Linux中编写USB设备驱动程序
- 7. USB驱动在Android - 新设备
- 8. usb cdc设备驱动程序
- 9. 学习资源的USB设备和设备驱动程序开发
- 10. 设备驱动
- 11. 有关设备驱动程序和内核的问题
- 12. Linux USB设备驱动程序未得到探测
- 13. 为Linux创建一个USB设备驱动程序
- 14. 设备驱动器ImagePath
- 15. 如何设置嵌入式Linux中USB设备的VID和PID
- 16. linux内核模块字符设备
- 17. Linux内核设备驱动程序将DMA从设备传输到用户空间内存
- 18. 如何从Linux设备驱动程序访问USB总线号码?
- 19. 访问Linux上的USB设备(libusb-1.0)?
- 20. Linux的 - 限制USB设备带宽
- 21. Linux上无法识别的USB设备
- 22. 获取连接到Windows CE的USB驱动器名称设备
- 23. 通过USB发送和接收音频的Linux设备驱动程序
- 24. IOCTL Linux设备驱动程序
- 25. Linux网络设备驱动程序
- 26. 使用do_mmap()在Linux设备驱动
- 27. 在Linux/C++中枚举USB设备
- 28. Linux设备驱动程序使用的次要号码
- 29. USB存储设备从微过滤器驱动程序的SerialNumber(从USB设备描述符)
- 30. 为USB设备