|
@@ -583,6 +583,8 @@ void __bio_clone_fast(struct bio *bio, struct bio *bio_src)
|
|
|
bio->bi_rw = bio_src->bi_rw;
|
|
|
bio->bi_iter = bio_src->bi_iter;
|
|
|
bio->bi_io_vec = bio_src->bi_io_vec;
|
|
|
+
|
|
|
+ bio_clone_blkcg_association(bio, bio_src);
|
|
|
}
|
|
|
EXPORT_SYMBOL(__bio_clone_fast);
|
|
|
|
|
@@ -687,6 +689,8 @@ integrity_clone:
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ bio_clone_blkcg_association(bio, bio_src);
|
|
|
+
|
|
|
return bio;
|
|
|
}
|
|
|
EXPORT_SYMBOL(bio_clone_bioset);
|
|
@@ -2004,6 +2008,17 @@ void bio_disassociate_task(struct bio *bio)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * bio_clone_blkcg_association - clone blkcg association from src to dst bio
|
|
|
+ * @dst: destination bio
|
|
|
+ * @src: source bio
|
|
|
+ */
|
|
|
+void bio_clone_blkcg_association(struct bio *dst, struct bio *src)
|
|
|
+{
|
|
|
+ if (src->bi_css)
|
|
|
+ WARN_ON(bio_associate_blkcg(dst, src->bi_css));
|
|
|
+}
|
|
|
+
|
|
|
#endif /* CONFIG_BLK_CGROUP */
|
|
|
|
|
|
static void __init biovec_init_slabs(void)
|