* 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.