RE: As of 2.6.13-rc1 Fusion-MPT very slow

From: James Bottomley
Date: Sat Aug 06 2005 - 17:09:34 EST


On Sat, 2005-08-06 at 21:12 +0000, Holger Kiehl wrote:
> I tried from 2.6.13-rc2-mm2 up to 2.6.13-rc4-mm1 and always get the following
> error when applying this patch:
>
> CC drivers/message/fusion/mptbase.o
> CC drivers/message/fusion/mptscsih.o
> CC drivers/message/fusion/mptspi.o
> drivers/message/fusion/mptspi.c: In function â..mptspi_target_allocâ..:
> drivers/message/fusion/mptspi.c:113: error: invalid storage class for function â..mptspi_write_offsetâ..
> drivers/message/fusion/mptspi.c:114: error: invalid storage class for function â..mptspi_write_widthâ..
> drivers/message/fusion/mptspi.c:131: warning: implicit declaration of function â..mptspi_write_widthâ..
> drivers/message/fusion/mptspi.c: At top level:
> drivers/message/fusion/mptspi.c:453: warning: conflicting types for â..mptspi_write_widthâ..
> drivers/message/fusion/mptspi.c:453: error: static declaration of â..mptspi_write_widthâ.. follows non-static declaration
> drivers/message/fusion/mptspi.c:131: error: previous implicit declaration of â..mptspi_write_widthâ.. was here

This lot are all gcc-4 being silly about a declaration, as you noticed.
Still, there's no reason not to make the static functions declared at
the top of the file.

> drivers/message/fusion/mptspi.c:505: error: unknown field â..get_hold_mcsâ.. specified in initializer
> drivers/message/fusion/mptspi.c:505: warning: excess elements in struct initializer
> drivers/message/fusion/mptspi.c:505: warning: (near initialization for â..mptspi_transport_functionsâ..)
> drivers/message/fusion/mptspi.c:506: error: unknown field â..set_hold_mcsâ.. specified in initializer
> drivers/message/fusion/mptspi.c:506: warning: excess elements in struct initializer
> drivers/message/fusion/mptspi.c:506: warning: (near initialization for â..mptspi_transport_functionsâ..)
> drivers/message/fusion/mptspi.c:507: error: unknown field â..show_hold_mcsâ.. specified in initializer
> drivers/message/fusion/mptspi.c:507: warning: excess elements in struct initializer
> drivers/message/fusion/mptspi.c:507: warning: (near initialization for â..mptspi_transport_functionsâ..)

This is actually because -mm is slightly behind the scsi-misc tree. It
looks like the hold_mcs parameters haven't propagated into the -mm tree
yet. You should be able to correct this by cutting these three lines:

.get_hold_mcs = mptspi_read_parameters,
.set_hold_mcs = mptspi_write_hold_mcs,
.show_hold_mcs = 1,

Out of the code at lines 505-507. You'll get a warning about
mptspi_write_hold_mcs() being defined but not used which you can ignore.

James


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