From ed63325e4ddfc2adf7bbdb6abfc2ca547e660d2d Mon Sep 17 00:00:00 2001 From: Krzysztof Mazur Date: Wed, 15 Feb 2012 22:25:13 +0100 Subject: [PATCH 81/84] lsbd: remove broken block write continuation This patch removes broken block write continuation. When block write was triggered, write was continues with old conditions with huge performance degradation. Signed-off-by: Krzysztof Mazur --- drivers/block/lsbd.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/block/lsbd.c b/drivers/block/lsbd.c index fa44be7..b86759b 100644 --- a/drivers/block/lsbd.c +++ b/drivers/block/lsbd.c @@ -2631,14 +2631,11 @@ static int lsbd_thread(void *data) lsbd_clean_block(p); } - while (want_write && (lsbd_clean_blocks(p) > 1)) { + if (want_write && (lsbd_clean_blocks(p) > 1)) { ret = lsbd_write_block(p); spin_lock_irq(&p->wqueue_lock); if (!ret && p->blocks_to_write) p->blocks_to_write--; - want_write = 0; - if (p->wqueue_len || p->blocks_to_write) - want_write = 1; spin_unlock_irq(&p->wqueue_lock); } } -- 1.8.4.652.g0d6e0ce