On Thu, May 10 2007, Andrew Morton wrote: > On Thu, 10 May 2007 12:46:53 +0200 Jens Axboe <[EMAIL PROTECTED]> wrote: > > > On Thu, May 10 2007, Jens Axboe wrote: > > > Yeah, I'm inclined to agree. Perhaps it would be better to put this > > > stuff in lib/scatterlist.c or something like that instead? > > > > > > > > +/* > > > > > + * Chain previous sglist to this one > > > > > + */ > > > > > +static inline void sg_chain(struct scatterlist *prv, unsigned int > > > > > prv_nents, > > > > > + struct scatterlist *sgl) > > > > > +{ > > > > > +#ifndef ARCH_HAS_SG_CHAIN > > > > > + BUG(); > > > > > +#endif > > > > > > > > Can use BUILD_BUG_ON here. Or just #error. > > > > > > Good idea, thanks! > > > > No wait a second, that wont work. The code is always being built in sg > > scsi_lib.c, it should just not be called unless we can do chaining. We > > will never have a large number of segments that require chaining without > > ARCH_HAS_SG_CHAIN, so it'll never be called in that case. So it has to > > remain as it is, a BUG(). > > Confused. If it should never be called, why does it even get compiled in?
I can hide it behind ARCH_HAS_SG_CHAIN and provide something ala #define sg_chain(prv, x, sgl) BUG() for when that is not defined. It still needs to be visible. -- Jens Axboe - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/