get partition size of block device from another block device.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HI All

I am writing a block device driver that uses another block device for its "base storage".
First the block device sturctures questions.
there is one 'struct gendisk' per disk. with partitions under this ->part[N]. there is one 'struct block_device' is the file system device, one per disk or one part partition?
Is ther one kobject for each disk or partition?

-----------------------------------

one of the module parameters passed in is the base device. eather /dev/hda1 or 0x0301, which format is the best?
module_parm_array(str_dev, charp, &dev_cnt,0);
or
module_parm_array(dev_dev, ushort, &dev_cnt,0);

from string to  gendisk
bdev = lookup_bdev(str_dev); then finds the block_device gd = get_gendisk(bdev->bd_dev,MINOR(bdev->bd_dev))
OR

gd= get_gendisk(dev_dev,MINOR(dev_dev))
bdev = bdget_disk(gd, MINOR(dev_dev))
This confuses me, if there is one gendisk per disk why does get_gendisk need a partition number?

OR

something with kobject?

----------------------------------------------------------
Now to get ther size.
numberOfSectors =gd->part[MINOR(dev)]->nr_sects

Now I need to 'open' the device for r/w bd_claim()
or
open_bdev_excl()

Now read and write data to the sub block device


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux