diff options
author | Ingo Molnar <mingo@elte.hu> | 2010-10-14 09:11:43 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-10-14 09:11:46 +0200 |
commit | ed859ed3b0f9893c6bce3708e8928341c15699b9 (patch) | |
tree | 59c507f00bc13becb4accdd64fdc01ece08b4645 /block/cfq-iosched.c | |
parent | a8027073eb127cd207070891374b5c54c2ce3d23 (diff) | |
parent | 53eeb64e808971207350386121f4bab12fa2f45f (diff) | |
download | linux-ed859ed3b0f9893c6bce3708e8928341c15699b9.tar.bz2 |
Merge branch 'linus' into sched/core
Merge reason: update from -rc5 to -almost-final
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r-- | block/cfq-iosched.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index f65c6f01c475..9eba291eb6fd 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -1019,10 +1019,20 @@ cfq_find_alloc_cfqg(struct cfq_data *cfqd, struct cgroup *cgroup, int create) */ atomic_set(&cfqg->ref, 1); - /* Add group onto cgroup list */ - sscanf(dev_name(bdi->dev), "%u:%u", &major, &minor); - cfq_blkiocg_add_blkio_group(blkcg, &cfqg->blkg, (void *)cfqd, + /* + * Add group onto cgroup list. It might happen that bdi->dev is + * not initiliazed yet. Initialize this new group without major + * and minor info and this info will be filled in once a new thread + * comes for IO. See code above. + */ + if (bdi->dev) { + sscanf(dev_name(bdi->dev), "%u:%u", &major, &minor); + cfq_blkiocg_add_blkio_group(blkcg, &cfqg->blkg, (void *)cfqd, MKDEV(major, minor)); + } else + cfq_blkiocg_add_blkio_group(blkcg, &cfqg->blkg, (void *)cfqd, + 0); + cfqg->weight = blkcg_get_weight(blkcg, cfqg->blkg.dev); /* Add group on cfqd list */ |