blkcg: associate blkg when associating a device
[sfrench/cifs-2.6.git] / include / linux / bio.h
index 056fb627edb3e82779d0d4f92b27be43a423ce15..6ee2ea8b378a67ed70f404321c5ae25b986caadb 100644 (file)
@@ -491,12 +491,14 @@ do {                                              \
                bio_clear_flag(bio, BIO_THROTTLED);\
        (bio)->bi_disk = (bdev)->bd_disk;       \
        (bio)->bi_partno = (bdev)->bd_partno;   \
+       bio_associate_blkg(bio);                \
 } while (0)
 
 #define bio_copy_dev(dst, src)                 \
 do {                                           \
        (dst)->bi_disk = (src)->bi_disk;        \
        (dst)->bi_partno = (src)->bi_partno;    \
+       bio_clone_blkcg_association(dst, src);  \
 } while (0)
 
 #define bio_dev(bio) \
@@ -511,12 +513,15 @@ static inline int bio_associate_blkcg_from_page(struct bio *bio,
 
 #ifdef CONFIG_BLK_CGROUP
 int bio_associate_blkcg(struct bio *bio, struct cgroup_subsys_state *blkcg_css);
-int bio_associate_blkg(struct bio *bio, struct blkcg_gq *blkg);
+void bio_disassociate_blkg(struct bio *bio);
+void bio_associate_blkg(struct bio *bio);
 void bio_disassociate_task(struct bio *bio);
 void bio_clone_blkcg_association(struct bio *dst, struct bio *src);
 #else  /* CONFIG_BLK_CGROUP */
 static inline int bio_associate_blkcg(struct bio *bio,
                        struct cgroup_subsys_state *blkcg_css) { return 0; }
+static inline void bio_disassociate_blkg(struct bio *bio) { }
+static inline void bio_associate_blkg(struct bio *bio) { }
 static inline void bio_disassociate_task(struct bio *bio) { }
 static inline void bio_clone_blkcg_association(struct bio *dst,
                        struct bio *src) { }