Simplify the code with list_first_entry_or_null(). Signed-off-by: Geliang Tang <geliangtang@xxxxxxx> --- block/blk-throttle.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/block/blk-throttle.c b/block/blk-throttle.c index 2149a1d..db2dbf1 100644 --- a/block/blk-throttle.c +++ b/block/blk-throttle.c @@ -263,10 +263,11 @@ static void throtl_qnode_add_bio(struct bio *bio, struct throtl_qnode *qn, */ static struct bio *throtl_peek_queued(struct list_head *queued) { - struct throtl_qnode *qn = list_first_entry(queued, struct throtl_qnode, node); + struct throtl_qnode *qn; struct bio *bio; - if (list_empty(queued)) + qn = list_first_entry_or_null(queued, struct throtl_qnode, node); + if (!qn) return NULL; bio = bio_list_peek(&qn->bios); @@ -291,10 +292,11 @@ static struct bio *throtl_peek_queued(struct list_head *queued) static struct bio *throtl_pop_queued(struct list_head *queued, struct throtl_grp **tg_to_put) { - struct throtl_qnode *qn = list_first_entry(queued, struct throtl_qnode, node); + struct throtl_qnode *qn; struct bio *bio; - if (list_empty(queued)) + qn = list_first_entry_or_null(queued, struct throtl_qnode, node); + if (!qn) return NULL; bio = bio_list_pop(&qn->bios); -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html