]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - block/blk-cgroup.c
xen: using EXPORT_SYMBOL requires including export.h
[karo-tx-linux.git] / block / blk-cgroup.c
index b8c143d68ee02664758df3e6d702c79fd594d8d4..fa8f26309444d2cdda41cae813cf6f5a70f1de06 100644 (file)
@@ -1655,11 +1655,12 @@ static void blkiocg_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
        struct io_context *ioc;
 
        cgroup_taskset_for_each(task, cgrp, tset) {
-               task_lock(task);
-               ioc = task->io_context;
-               if (ioc)
-                       ioc->cgroup_changed = 1;
-               task_unlock(task);
+               /* we don't lose anything even if ioc allocation fails */
+               ioc = get_task_io_context(task, GFP_ATOMIC, NUMA_NO_NODE);
+               if (ioc) {
+                       ioc_cgroup_changed(ioc);
+                       put_io_context(ioc, NULL);
+               }
        }
 }