aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2010-07-25 07:29:12 -0400
committerJens Axboe <jaxboe@fusionio.com>2010-08-07 12:53:19 -0400
commit94eac5e62364df4e605e451218ee6024a7ba664f (patch)
tree5e4b7d85361ad20821ba3371acc1536262846f22 /Documentation
parent6f904ff0e39ea88f81eb77e8dfb4e1238492f0a8 (diff)
writeback: fix possible race when creating bdi threads
This patch fixes a very unlikely race condition on the bdi forker thread error path: when bdi thread creation fails, 'bdi->wb.task' may contain the error code for a short period of time. If at the same time someone submits a work to this bdi, we can end up with an oops 'bdi_queue_work()' while executing 'wake_up_process(wb->task)'. This patch fixes the issue by introducing a temporary variable 'task' and storing the possible error code there, so that 'wb->task' would never take erroneous values. Note, this race is very unlikely and I never hit it, so it is theoretical, but nevertheless worth fixing. This patch also merges 2 comments which were previously separate. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'Documentation')
0 files changed, 0 insertions, 0 deletions