My patch below works OK for me for 2.5.42.
However, it does NOT work for 2.5.43.
With 2.5.43 only partitions are the 1st disk are seen,
(as is also the case with 2.5.42).
The patch below fixes that for 2.5.42. It does NOT
fix it for 2.5.43. Something else is wrong with 2.5.43.
With the patch, the devices
are openable so the partition table can be read I think, but, with this
patch, all the partitions on all the disks show up as identical
to the partitions on the first disk.
I have not yet tracked down the problem, but thought
I should mention it just to warn cciss users that their partition
tables for disks other than the 1st aren't right if they
use this patch with 2.5.43.
-- steve
>
> Hmm, this patch didn't seem to make it into 2.5.42. Without it, or
> something like it, the cciss driver is pretty badly broken.
> Without it, only partitions on the first disk can be accessed. If
> there's something wrong with this patch and this problem needs to
> be fixed in a different way, let me know.
>
> -- steve
>
> diff -urN linux-2.5.42/drivers/block/cciss.c
> linux-2.5.42-a/drivers/block/cciss.c
> --- linux-2.5.42/drivers/block/cciss.c Mon Oct 14 07:54:28 2002
> +++ linux-2.5.42-a/drivers/block/cciss.c Mon Oct 14 08:09:03 2002
> @@ -352,7 +352,7 @@
> * but I'm already using way to many device nodes to
> claim another one
> * for "raw controller".
> */
> - if (inode->i_bdev->bd_inode->i_size == 0) {
> + if (hba[ctlr]->drv[dsk].nr_blocks == 0) {
> if (minor(inode->i_rdev) != 0)
> return -ENXIO;
> if (!capable(CAP_SYS_ADMIN))
>
I wrote:
> My patch below works OK for me for 2.5.42.
> However, it does NOT work for 2.5.43.
Oops. No, the patch works just fine in 2.5.43.
I was just not running the kernel I thought I was running.
-- steve