Hello,

This e-mail message is a duplicate of the one I sent on June 15
(http://www.open-fcoe.org/pipermail/devel/2010-June/010354.html). I
resent this message because I was assuming that this message hadn't
arrived to the list. But just after I resent this message I noticed
that it had arrived to the open-fcoe list. So please ignore this
duplicate message. Sorry for the confusion.

Bart.

On Sun, Jun 20, 2010 at 1:25 PM, Bart Van Assche <[email protected]> wrote:
>
> Analyzing fcoe with sparse currently fails. This is because struct
> fcoe_rcv_info contains two enum members that have been declared with
> __attribute__((packed)). Apparently gcc honors this attribute while sparse
> ignores it. The result is that sizeof(struct fcoe_rcv_info)
> == sizeof(struct sk_buff::cb) == 48 on a 64-bit system according to gcc, but
> not according to sparse. The patch below modifies the definition of
> struct fcoe_rcv_info such that gcc and sparse interpret this structure
> definition in the same way. The current sparse output is as follows:
>
> $ cd linux-2.6.34
> $ make C=2 M=drivers/scsi/fcoe modules
>  CHECK   drivers/scsi/fcoe/fcoe.c
>
> include/scsi/fc_frame.h:81:9: error: invalid bitfield width, -1.
>  CC [M]  drivers/scsi/fcoe/fcoe.o
>  CHECK   drivers/scsi/fcoe/libfcoe.c
>
> include/scsi/fc_frame.h:81:9: error: invalid bitfield width, -1.
> drivers/scsi/fcoe/libfcoe.c:56:37: error: invalid initializer
>
> Signed-off-by: Bart Van Assche <[email protected]>
> Cc: [email protected]
>
> diff --git a/include/scsi/fc_frame.h b/include/scsi/fc_frame.h
> index 4d3e9c7..15427fa 100644
> --- a/include/scsi/fc_frame.h
> +++ b/include/scsi/fc_frame.h
> @@ -66,8 +66,8 @@ struct fcoe_rcv_info {
>        struct fc_fcp_pkt *fr_fsp;      /* for the corresponding fcp I/O */
>        u32             fr_crc;
>        u16             fr_max_payload; /* max FC payload */
> -       enum fc_sof     fr_sof;         /* start of frame delimiter */
> -       enum fc_eof     fr_eof;         /* end of frame delimiter */
> +       u8              fr_sof;         /* start of frame delimiter */
> +       u8              fr_eof;         /* end of frame delimiter */
>        u8              fr_flags;       /* flags - see below */
>        u8              granted_mac[ETH_ALEN]; /* FCoE MAC address */
>  };
> _______________________________________________
> devel mailing list
> [email protected]
> http://www.open-fcoe.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to