回复 #2 zltjiangshi 的帖子
在src的/fs/Block_dev.c中有这么一段定义
static struct {
const char *name;
struct block_device_operations *bdops;
} blkdevs[MAX_BLKDEV];
用来描述块设备的数组
在
int register_blkdev(unsigned int major, const char * name, struct block_device_operations *bdops)
{
if (major == 0) {
for (major = MAX_BLKDEV-1; major > 0; major--) {
if (blkdevs[major].bdops == NULL) {
blkdevs[major].name = name;
blkdevs[major].bdops = bdops;
return major;
}
}
return -EBUSY;
}
if (major >= MAX_BLKDEV)
return -EINVAL;
if (blkdevs[major].bdops && blkdevs[major].bdops != bdops)
return -EBUSY;
blkdevs[major].name = name;
blkdevs[major].bdops = bdops;
return 0;
}
中会有对他的访问,现在我想自己对该数组访问来判断对应的设备是否存在。