btrfs: fix compile when block cgroups are not enabled
authorChris Mason <clm@fb.com>
Fri, 21 Aug 2015 17:05:39 +0000 (10:05 -0700)
committerChris Mason <clm@fb.com>
Fri, 21 Aug 2015 17:08:13 +0000 (10:08 -0700)
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>
fs/btrfs/extent_io.c
fs/btrfs/volumes.c

index 3cfbd62..fa19f2f 100644 (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;
 }
index 53a3807..69520df 100644 (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) {