| From 6d9d21e35fbfa2934339e96934f862d118abac23 Mon Sep 17 00:00:00 2001 |
| From: Kent Overstreet <kmo@daterainc.com> |
| Date: Mon, 23 Sep 2013 23:17:27 -0700 |
| Subject: bcache: Fix a dumb journal discard bug |
| |
| From: Kent Overstreet <kmo@daterainc.com> |
| |
| commit 6d9d21e35fbfa2934339e96934f862d118abac23 upstream. |
| |
| That switch statement was obviously wrong, leading to some sort of weird |
| spinning on rare occasion with discards enabled... |
| |
| Signed-off-by: Kent Overstreet <kmo@daterainc.com> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/md/bcache/journal.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/md/bcache/journal.c |
| +++ b/drivers/md/bcache/journal.c |
| @@ -425,7 +425,7 @@ static void do_journal_discard(struct ca |
| return; |
| } |
| |
| - switch (atomic_read(&ja->discard_in_flight) == DISCARD_IN_FLIGHT) { |
| + switch (atomic_read(&ja->discard_in_flight)) { |
| case DISCARD_IN_FLIGHT: |
| return; |
| |