mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Fix congestion_wait() sync/async vs read/write confusion
Commit 1faa16d228 accidentally broke
the bdi congestion wait queue logic, causing us to wait on congestion
for WRITE (== 1) when we really wanted BLK_RW_ASYNC (== 0) instead.
Signed-off-by: Jens Axboe <[email protected]>
This commit is contained in:
parent
c2cc49a2f8
commit
8aa7e847d8
16 changed files with 43 additions and 40 deletions
|
|
@ -286,8 +286,8 @@ __releases(&fc->lock)
|
|||
}
|
||||
if (fc->num_background == FUSE_CONGESTION_THRESHOLD &&
|
||||
fc->connected && fc->bdi_initialized) {
|
||||
clear_bdi_congested(&fc->bdi, READ);
|
||||
clear_bdi_congested(&fc->bdi, WRITE);
|
||||
clear_bdi_congested(&fc->bdi, BLK_RW_SYNC);
|
||||
clear_bdi_congested(&fc->bdi, BLK_RW_ASYNC);
|
||||
}
|
||||
fc->num_background--;
|
||||
fc->active_background--;
|
||||
|
|
@ -414,8 +414,8 @@ static void fuse_request_send_nowait_locked(struct fuse_conn *fc,
|
|||
fc->blocked = 1;
|
||||
if (fc->num_background == FUSE_CONGESTION_THRESHOLD &&
|
||||
fc->bdi_initialized) {
|
||||
set_bdi_congested(&fc->bdi, READ);
|
||||
set_bdi_congested(&fc->bdi, WRITE);
|
||||
set_bdi_congested(&fc->bdi, BLK_RW_SYNC);
|
||||
set_bdi_congested(&fc->bdi, BLK_RW_ASYNC);
|
||||
}
|
||||
list_add_tail(&req->list, &fc->bg_queue);
|
||||
flush_bg_queue(fc);
|
||||
|
|
|
|||
Loading…
Reference in a new issue