Skip to content

Commit

Permalink
btrfs: fix compile when block cgroups are not enabled
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Chris Mason committed Aug 21, 2015
1 parent b84b839 commit 3a9508b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 0 deletions.
3 changes: 3 additions & 0 deletions fs/btrfs/extent_io.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down
2 changes: 2 additions & 0 deletions fs/btrfs/volumes.c
Original file line number Diff line number Diff line change
Expand Up @@ -5955,6 +5955,7 @@ static int breakup_stripe_bio(struct btrfs_root *root, struct btrfs_bio *bbio,
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;
Expand All @@ -5963,6 +5964,7 @@ static int breakup_stripe_bio(struct btrfs_root *root, struct btrfs_bio *bbio,
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) {
Expand Down

0 comments on commit 3a9508b

Please sign in to comment.