break;                                                  \
        bfq_bfqq_name((bfqq), pid_str, MAX_BFQQ_NAME_LENGTH);           \
        blk_add_cgroup_trace_msg((bfqd)->queue,                         \
-                       bfqg_to_blkg(bfqq_group(bfqq))->blkcg,          \
+                       &bfqg_to_blkg(bfqq_group(bfqq))->blkcg->css,    \
                        "%s " fmt, pid_str, ##args);                    \
 } while (0)
 
 #define bfq_log_bfqg(bfqd, bfqg, fmt, args...) do {                    \
        blk_add_cgroup_trace_msg((bfqd)->queue,                         \
-               bfqg_to_blkg(bfqg)->blkcg, fmt, ##args);                \
+               &bfqg_to_blkg(bfqg)->blkcg->css, fmt, ##args);          \
 } while (0)
 
 #else /* CONFIG_BFQ_GROUP_IOSCHED */
 
                break;                                                  \
        if ((__tg)) {                                                   \
                blk_add_cgroup_trace_msg(__td->queue,                   \
-                       tg_to_blkg(__tg)->blkcg, "throtl " fmt, ##args);\
+                       &tg_to_blkg(__tg)->blkcg->css, "throtl " fmt, ##args);\
        } else {                                                        \
                blk_add_trace_msg(__td->queue, "throtl " fmt, ##args);  \
        }                                                               \
 
        atomic_t dropped;
 };
 
-struct blkcg;
-
 extern int blk_trace_ioctl(struct block_device *, unsigned, char __user *);
 extern void blk_trace_shutdown(struct request_queue *);
-extern __printf(3, 4)
-void __trace_note_message(struct blk_trace *, struct blkcg *blkcg, const char *fmt, ...);
+__printf(3, 4) void __blk_trace_note_message(struct blk_trace *bt,
+               struct cgroup_subsys_state *css, const char *fmt, ...);
 
 /**
  * blk_add_trace_msg - Add a (simple) message to the blktrace stream
  *     NOTE: Can not use 'static inline' due to presence of var args...
  *
  **/
-#define blk_add_cgroup_trace_msg(q, cg, fmt, ...)                      \
+#define blk_add_cgroup_trace_msg(q, css, fmt, ...)                     \
        do {                                                            \
                struct blk_trace *bt;                                   \
                                                                        \
                rcu_read_lock();                                        \
                bt = rcu_dereference((q)->blk_trace);                   \
                if (unlikely(bt))                                       \
-                       __trace_note_message(bt, cg, fmt, ##__VA_ARGS__);\
+                       __blk_trace_note_message(bt, css, fmt, ##__VA_ARGS__);\
                rcu_read_unlock();                                      \
        } while (0)
 #define blk_add_trace_msg(q, fmt, ...)                                 \
 
        local_irq_restore(flags);
 }
 
-void __trace_note_message(struct blk_trace *bt, struct blkcg *blkcg,
-       const char *fmt, ...)
+void __blk_trace_note_message(struct blk_trace *bt,
+               struct cgroup_subsys_state *css, const char *fmt, ...)
 {
        int n;
        va_list args;
        unsigned long flags;
        char *buf;
+       u64 cgid = 0;
 
        if (unlikely(bt->trace_state != Blktrace_running &&
                     !blk_tracer_enabled))
        n = vscnprintf(buf, BLK_TN_MAX_MSG, fmt, args);
        va_end(args);
 
-       if (!(blk_tracer_flags.val & TRACE_BLK_OPT_CGROUP))
-               blkcg = NULL;
 #ifdef CONFIG_BLK_CGROUP
-       trace_note(bt, current->pid, BLK_TN_MESSAGE, buf, n,
-                  blkcg ? cgroup_id(blkcg->css.cgroup) : 1);
-#else
-       trace_note(bt, current->pid, BLK_TN_MESSAGE, buf, n, 0);
+       if (css && (blk_tracer_flags.val & TRACE_BLK_OPT_CGROUP))
+               cgid = cgroup_id(css->cgroup);
+       else
+               cgid = 1;
 #endif
+       trace_note(bt, current->pid, BLK_TN_MESSAGE, buf, n, cgid);
        local_irq_restore(flags);
 }
-EXPORT_SYMBOL_GPL(__trace_note_message);
+EXPORT_SYMBOL_GPL(__blk_trace_note_message);
 
 static int act_log_check(struct blk_trace *bt, u32 what, sector_t sector,
                         pid_t pid)
                return PTR_ERR(msg);
 
        bt = filp->private_data;
-       __trace_note_message(bt, NULL, "%s", msg);
+       __blk_trace_note_message(bt, NULL, "%s", msg);
        kfree(msg);
 
        return count;