public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* get partition size of block device from another block device.
@ 2005-09-26  0:05 Shaun Savage
  0 siblings, 0 replies; only message in thread
From: Shaun Savage @ 2005-09-26  0:05 UTC (permalink / raw)
  To: linux-kernel

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



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-09-26  0:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-26  0:05 get partition size of block device from another block device Shaun Savage

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox