btrfs: fix compile when block cgroups are not enabled

bio->bi_css and bio->bi_ioc don't exist when block cgroups are not on.
This adds an ifdef around them.  It's not perfect, but our
use of bi_ioc is being removed in the 4.3 merge window.

The bi_css usage really should go into bio_clone, but I want to make
sure that doesn't introduce problems for other bio_clone use cases.

Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
Chris Mason 2015-08-21 10:05:39 -07:00
parent b84b8390d6
commit 3a9508b022
2 changed files with 5 additions and 0 deletions

View File

@ -2730,9 +2730,12 @@ struct bio *btrfs_bio_clone(struct bio *bio, gfp_t gfp_mask)
btrfs_bio->csum = NULL;
btrfs_bio->csum_allocated = NULL;
btrfs_bio->end_io = NULL;
#ifdef CONFIG_BLK_CGROUP
/* FIXME, put this into bio_clone_bioset */
if (bio->bi_css)
bio_associate_blkcg(new, bio->bi_css);
#endif
}
return new;
}

View File

@ -5955,6 +5955,7 @@ again:
if (!bio)
return -ENOMEM;
#ifdef CONFIG_BLK_CGROUP
if (first_bio->bi_ioc) {
get_io_context_active(first_bio->bi_ioc);
bio->bi_ioc = first_bio->bi_ioc;
@ -5963,6 +5964,7 @@ again:
css_get(first_bio->bi_css);
bio->bi_css = first_bio->bi_css;
}
#endif
while (bvec <= (first_bio->bi_io_vec + first_bio->bi_vcnt - 1)) {
if (bio_add_page(bio, bvec->bv_page, bvec->bv_len,
bvec->bv_offset) < bvec->bv_len) {