X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=block%2Fblk-ioc.c;h=cbdabb0dd6d773fcc22c2760dffb6e399708d2b8;hb=4ef58d4e2ad1fa2a3e5bbf41af2284671fca8cf8;hp=d4ed6000147d11221c72cc45322d4c6ea6c68d74;hpb=bbb20089a3275a19e475dbc21320c3742e3ca423;p=karo-tx-linux.git diff --git a/block/blk-ioc.c b/block/blk-ioc.c index d4ed6000147d..cbdabb0dd6d7 100644 --- a/block/blk-ioc.c +++ b/block/blk-ioc.c @@ -66,22 +66,22 @@ static void cfq_exit(struct io_context *ioc) } /* Called by the exitting task */ -void exit_io_context(void) +void exit_io_context(struct task_struct *task) { struct io_context *ioc; - task_lock(current); - ioc = current->io_context; - current->io_context = NULL; - task_unlock(current); + task_lock(task); + ioc = task->io_context; + task->io_context = NULL; + task_unlock(task); if (atomic_dec_and_test(&ioc->nr_tasks)) { if (ioc->aic && ioc->aic->exit) ioc->aic->exit(ioc->aic); cfq_exit(ioc); - put_io_context(ioc); } + put_io_context(ioc); } struct io_context *alloc_io_context(gfp_t gfp_flags, int node)