Description of problem:
I've got a proprietary kernel disk driver that needs to access the disk partition information in order to gather information like:
* how many real partitions are there?
* for each partition, what is the:
- partition number?
- starting offset?
I used to be able to just iterate over the gendisk->part array, but as of 2.6.29 in F11 this array is now hidden behind a GPL-ONLY RCU interface and a GPL-ONLY iterator interface.
Version-Release number of selected component (if applicable):
kernel-2.6.29 and 2.6.30
Steps to Reproduce:
1. write a non-GPL kernel module
2. try to find some way to access gendisk partition information
3. realize it's all GPL-Only now.
The partition data is all behind RCU which is GPL-Only... And the iterator functions are also GPL-Only.. Which effectively hides the partition array behind a GPL-Only interface whereas it used to be available. So now there is no non-GPL way to access disk partitions.
Linux shouldn't hide data structures behind GPL-Only interfaces when those structures used to be accessible to non-GPL modules.
The quick fix would be to make the partition iterator interfaces available to non-GPL modules. I think that would solve all the problems.. While it would be nice to be able to access the disk_get_part() API I could implement one if I had the iterator available.
This isn't something that Fedora changed, so this doesn't belong in Fedora bugzilla. If you want this changed, you're going to have to get it done upstream at firstname.lastname@example.org