block: Remove the extra check in queue_requests_store
In queue_requests_store, the code looks like if (rl->count[BLK_RW_SYNC] >= q->nr_requests) { blk_set_queue_full(q, BLK_RW_SYNC); } else if (rl->count[BLK_RW_SYNC]+1 <= q->nr_requests) { blk_clear_queue_full(q, BLK_RW_SYNC); wake_up(&rl->wait[BLK_RW_SYNC]); } If we don't satify the situation of "if", we can get that rl->count[BLK_RW_SYNC} < q->nr_quests. It is the same as rl->count[BLK_RW_SYNC]+1 <= q->nr_requests. All the "else" should satisfy the "else if" check so it isn't needed actually. Signed-off-by: Tao Ma <boyu.mt@taobao.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
This commit is contained in:
@@ -66,14 +66,14 @@ queue_requests_store(struct request_queue *q, const char *page, size_t count)
|
|||||||
|
|
||||||
if (rl->count[BLK_RW_SYNC] >= q->nr_requests) {
|
if (rl->count[BLK_RW_SYNC] >= q->nr_requests) {
|
||||||
blk_set_queue_full(q, BLK_RW_SYNC);
|
blk_set_queue_full(q, BLK_RW_SYNC);
|
||||||
} else if (rl->count[BLK_RW_SYNC]+1 <= q->nr_requests) {
|
} else {
|
||||||
blk_clear_queue_full(q, BLK_RW_SYNC);
|
blk_clear_queue_full(q, BLK_RW_SYNC);
|
||||||
wake_up(&rl->wait[BLK_RW_SYNC]);
|
wake_up(&rl->wait[BLK_RW_SYNC]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rl->count[BLK_RW_ASYNC] >= q->nr_requests) {
|
if (rl->count[BLK_RW_ASYNC] >= q->nr_requests) {
|
||||||
blk_set_queue_full(q, BLK_RW_ASYNC);
|
blk_set_queue_full(q, BLK_RW_ASYNC);
|
||||||
} else if (rl->count[BLK_RW_ASYNC]+1 <= q->nr_requests) {
|
} else {
|
||||||
blk_clear_queue_full(q, BLK_RW_ASYNC);
|
blk_clear_queue_full(q, BLK_RW_ASYNC);
|
||||||
wake_up(&rl->wait[BLK_RW_ASYNC]);
|
wake_up(&rl->wait[BLK_RW_ASYNC]);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user