diff options
author | Alexander Gordeev <agordeev@redhat.com> | 2014-06-17 22:37:23 +0200 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-06-17 22:13:08 -0700 |
commit | 86fb5c56cfa26de5e91c9a50e2767a695dff366e (patch) | |
tree | da76443281fb15c54d56400b25ff9279e0b9e33e /kernel/kthread.c | |
parent | 2971c35f35886b87af54675313a2afef937c1b0c (diff) | |
download | op-kernel-dev-86fb5c56cfa26de5e91c9a50e2767a695dff366e.zip op-kernel-dev-86fb5c56cfa26de5e91c9a50e2767a695dff366e.tar.gz |
blk-mq: bitmap tag: fix races in bt_get() function
This update fixes few issues in bt_get() function:
- list_empty(&wait.task_list) check is not protected;
- was_empty check is always true which results in *every* thread
entering the loop resets bt_wait_state::wait_cnt counter rather
than every bt->wake_cnt'th thread;
- 'bt_wait_state::wait_cnt' counter update is redundant, since
it also gets reset in bt_clear_tag() function;
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Ming Lei <tom.leiming@gmail.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'kernel/kthread.c')
0 files changed, 0 insertions, 0 deletions