通过/proc/partitions 查看分区信息

文件/proc/partitions 可以查看分区信息。

$cat /proc/partitions
major minor  #blocks  name

   8     0  488386584 sda
   8    16  488386584 sdb
   8    32  488386584 sdc
   8    48  488386584 sdd

 

 

这个信息是再block driver中使用add_disk()函数得到了

下面是一个block driver的片段。 gd指向了一个gendisk的结构体。

其中的disk_name 就是再/proc/partitions文件中显示的name。

major就是显示的major

first_minor就是显示的minor

最后#blocks显示的值是blk_queue_logical_block_size()函数设置的。应该是表示物理设备逻辑块的大小。

   dev->gd->major = sbull_major;
    dev->gd->first_minor = which*SBULL_MINORS;
    dev->gd->fops = &sbull_ops;
    dev->gd->queue = dev->queue;
    dev->gd->private_data = dev;
    snprintf (dev->gd->disk_name, 32, "sbull%c", which + 'a');
    set_capacity(dev->gd, nsectors*(hardsect_size/KERNEL_SECTOR_SIZE));
    add_disk(dev->gd);

 

 

你可能感兴趣的:(c,disk)