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

From: Jens Axboe <[email-masked]>
Date: Mon, 30 Jun 2008 19:59:25 +0200

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