From a9e32d52ce87d1eeb2a240deb04f408b021e8491 Mon Sep 17 00:00:00 2001 From: Vivek Goyal Date: Mon, 5 Mar 2012 13:15:10 -0800 Subject: [PATCH] --- yaml --- r: 309207 b: refs/heads/master c: 92616b5b3a7c7fa8148df82e7ff6183056f2bfc8 h: refs/heads/master i: 309205: ba1db9ed7857ea9ce14078ee802f8d7bc0ffe3fb 309203: 3d6b0a75943bb5eee525e840af28260ca035d62a 309199: 841e6bb4b608acd6463a136696503dda5f7961f3 v: v3 --- [refs] | 2 +- trunk/block/blk-cgroup.c | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 7e0d9e1e0c39..bee6b4829e98 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7a4dd281ec66224f802093962d1d903d86b09560 +refs/heads/master: 92616b5b3a7c7fa8148df82e7ff6183056f2bfc8 diff --git a/trunk/block/blk-cgroup.c b/trunk/block/blk-cgroup.c index 8742af3be84b..76942360872b 100644 --- a/trunk/block/blk-cgroup.c +++ b/trunk/block/blk-cgroup.c @@ -951,13 +951,24 @@ static int blkiocg_file_write(struct cgroup *cgrp, struct cftype *cft, return ret; } +static const char *blkg_dev_name(struct blkio_group *blkg) +{ + /* some drivers (floppy) instantiate a queue w/o disk registered */ + if (blkg->q->backing_dev_info.dev) + return dev_name(blkg->q->backing_dev_info.dev); + return NULL; +} + static void blkio_print_group_conf(struct cftype *cft, struct blkio_group *blkg, struct seq_file *m) { - const char *dname = dev_name(blkg->q->backing_dev_info.dev); + const char *dname = blkg_dev_name(blkg); int fileid = BLKIOFILE_ATTR(cft->private); int rw = WRITE; + if (!dname) + return; + switch (blkg->plid) { case BLKIO_POLICY_PROP: if (blkg->conf.weight) @@ -1049,9 +1060,9 @@ static int blkio_read_blkg_stats(struct blkio_cgroup *blkcg, rcu_read_lock(); hlist_for_each_entry_rcu(blkg, n, &blkcg->blkg_list, blkcg_node) { - const char *dname = dev_name(blkg->q->backing_dev_info.dev); + const char *dname = blkg_dev_name(blkg); - if (BLKIOFILE_POLICY(cft->private) != blkg->plid) + if (!dname || BLKIOFILE_POLICY(cft->private) != blkg->plid) continue; if (pcpu) cgroup_total += blkio_get_stat_cpu(blkg, cb, dname,