Re: [BUILD-FAILURE] linux-next: Tree for June 30

Jens Axboe
2008-06-30T17:59:38Z

On Mon, Jun 30 2008, Kamalesh Babulal wrote:
> Hi Stephen,
>
> next-20080630 kernel build fails x86 box
>
> fs/bio-integrity.c: In function `bio_integrity_add_page':
> include/linux/bio.h:368: sorry, unimplemented: inlining failed in call to 'bvec_nr_vecs': function body not available
> fs/bio-integrity.c:135: sorry, unimplemented: called from here
> make[1]: *** [fs/bio-integrity.o] Error 1
> make: *** [fs] Error 2

Gah, I can't believe gcc errors on that. This should fix it, I'll
integrate with the patchset.

diff --git a/fs/bio.c b/fs/bio.c
index bc865b1..7761c84 100644
--- a/fs/bio.c
+++ b/fs/bio.c
@@ -50,7 +50,7 @@ static struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly = {
*/
struct bio_set *fs_bio_set;

-inline unsigned int bvec_nr_vecs(unsigned short idx)
+unsigned int bvec_nr_vecs(unsigned short idx)
{
return bvec_slabs[idx].nr_vecs;
}
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 62f0be9..0933a14 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -365,7 +365,7 @@ extern struct bio *bio_copy_user_iov(struct request_queue *, struct sg_iovec *,
extern int bio_uncopy_user(struct bio *);
void zero_fill_bio(struct bio *bio);
extern struct bio_vec *bvec_alloc_bs(gfp_t, int, unsigned long *, struct bio_set *);
-extern inline unsigned int bvec_nr_vecs(unsigned short idx);
+extern unsigned int bvec_nr_vecs(unsigned short idx);

/*
* bio_set is used to allow other portions of the IO system to

--
Jens Axboe