]> err.no Git - linux-2.6/commitdiff
[PATCH] stop leaking cfq_data in cfq_set_request()
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 18 Mar 2006 18:22:53 +0000 (13:22 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 18 Mar 2006 23:33:56 +0000 (18:33 -0500)
We don't need to pin ->key down; ->cfqq->cfqd will do that for us.
Incidentally, that stops the leak we had - that reference was never
dropped.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
block/cfq-iosched.c

index 37a2a772498c620e3982d1931ecffdbc7a6bf497..63ed11f8795d32345d478c10e586853da534daff 100644 (file)
@@ -1433,7 +1433,6 @@ cfq_get_io_context(struct cfq_data *cfqd, pid_t pid, gfp_t gfp_mask)
                ioc->set_ioprio = cfq_ioc_set_ioprio;
                cic->ioc = ioc;
                cic->key = cfqd;
-               atomic_inc(&cfqd->ref);
        } else {
                struct cfq_io_context *__cic;
 
@@ -1469,7 +1468,6 @@ cfq_get_io_context(struct cfq_data *cfqd, pid_t pid, gfp_t gfp_mask)
 
                __cic->ioc = ioc;
                __cic->key = cfqd;
-               atomic_inc(&cfqd->ref);
                list_add(&__cic->list, &cic->list);
                cic = __cic;
        }