]> git.baikalelectronics.ru Git - kernel.git/commit
dm kcopyd: fix job_pool leak
authorAlasdair G Kergon <agk@redhat.com>
Sun, 23 Oct 2011 19:55:17 +0000 (20:55 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Sun, 23 Oct 2011 19:55:17 +0000 (20:55 +0100)
commit3f841097a16a2fc139fdb3f11ea93435c6ee1a32
tree0b2e94980503cdae7f326219d792d98b10e54a0f
parent48989144d98367dc2111cf1491f2e281edcb84da
dm kcopyd: fix job_pool leak

Fix memory leak introduced by commit 6c7f58ebf5ba46f9406922974eed8e15eb4e1163
(dm snapshot: skip reading origin when overwriting complete chunk).

When allocating a set of jobs from kc->job_pool, job->master_job must be
set (to point to itself) so that the mempool item gets freed when the
master_job completes.

master_job was introduced by commit 52984fea524f6cbdbb270ffc85d94634f04ea121
(dm kcopyd: preallocate sub jobs to avoid deadlock)

Reported-by: Michael Leun <ml@newton.leun.net>
Cc: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-kcopyd.c