Re: [PATCH] io context: fix ref counting

From: Jens Axboe
Date: Fri Jul 31 2009 - 02:54:43 EST


On Fri, Jul 31 2009, Li Zefan wrote:
> Commit d9c7d394a8ebacb60097b192939ae9f15235225e
> ("block: prevent possible io_context->refcount overflow") mistakenly
> changed atomic_inc(&ioc->nr_tasks) to atomic_long_inc(&ioc->refcount).
>
> Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
> ---
> include/linux/iocontext.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/include/linux/iocontext.h b/include/linux/iocontext.h
> index dd05434..4da4a75 100644
> --- a/include/linux/iocontext.h
> +++ b/include/linux/iocontext.h
> @@ -92,7 +92,7 @@ static inline struct io_context *ioc_task_link(struct io_context *ioc)
> * a race).
> */
> if (ioc && atomic_long_inc_not_zero(&ioc->refcount)) {
> - atomic_long_inc(&ioc->refcount);
> + atomic_inc(&ioc->nr_tasks);
> return ioc;
> }

Irk, good catch. Applied to immediate upstream branch.

--
Jens Axboe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/