Re: [PATCH] git scsi misc include fix

From: Andrew Morton
Date: Mon Oct 15 2007 - 19:56:29 EST


On Mon, 15 Oct 2007 19:35:30 -0400
James Bottomley <James.Bottomley@xxxxxxxxxxxx> wrote:

> On Sat, 2007-10-13 at 22:35 -0700, Paul Jackson wrote:
> > From: Paul Jackson <pj@xxxxxxx>
> >
> > The added line in scsi_eh.h:
> > struct scatterlist sense_sgl;
> > fails to compile, with the error:
> > field 'sense_sgl' has incomplete type
> > unless scatterlist.h happens to be included
> > somehow already ... which it isn't always.
> >
> > So include scatterlist.h in scsi_eh.h directly.
> >
> > Signed-off-by: Paul Jackson <pj@xxxxxxx>
> >
> > ---
> >
> > This patch goes after the patch 'git-scsi-misc.patch'
> >
> > include/scsi/scsi_eh.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > --- 2.6.23-mm1.orig/include/scsi/scsi_eh.h 2007-10-13 01:13:26.568876534 -0700
> > +++ 2.6.23-mm1/include/scsi/scsi_eh.h 2007-10-13 01:31:32.911855338 -0700
> > @@ -2,6 +2,7 @@
> > #define _SCSI_SCSI_EH_H
> >
> > #include <scsi/scsi_cmnd.h>
> > +#include <linux/scatterlist.h>
> > struct scsi_device;
> > struct Scsi_Host;
>
>
> I've added linux-scsi which should be cc'd on all SCSI issues.
>
> I don't quite believe this, though. The requirement for struct
> scatterlist is the same before and after the gid scsi-misc patch. If
> the compile fails with git-scsi-misc because of a missing scatterlist
> include, it should also fail with vanilla 2.6.23 without the git
> patch ... could you see if you can find out why it doesn't?
>

git-scsi-misc adds this:

struct scsi_eh_save {
int result;
enum dma_data_direction data_direction;
unsigned char cmd_len;
unsigned char cmnd[MAX_COMMAND_SIZE];

void *buffer;
unsigned bufflen;
unsigned short use_sg;
int resid;

struct scatterlist sense_sgl;
};

which will not compile unless the includer has earlier included
scatterlist.h.
-
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/