bcache: Change refill_dirty() to always scan entire disk if necessary
authorKent Overstreet <kent.overstreet@gmail.com>
Mon, 30 Nov 2015 02:47:01 +0000 (18:47 -0800)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 1 Feb 2016 19:53:59 +0000 (14:53 -0500)
commitebd138117e5be089d0e10fea7cb308e8345ed643
tree77b91bcd325e96301619271cff497a9d636a0748
parentad148665b58dcd0a4336188ce4a2194d7f353c5f
bcache: Change refill_dirty() to always scan entire disk if necessary

[ Upstream commit 627ccd20b4ad3ba836472468208e2ac4dfadbf03 ]

Previously, it would only scan the entire disk if it was starting from
the very start of the disk - i.e. if the previous scan got to the end.

This was broken by refill_full_stripes(), which updates last_scanned so
that refill_dirty was never triggering the searched_from_start path.

But if we change refill_dirty() to always scan the entire disk if
necessary, regardless of what last_scanned was, the code gets cleaner
and we fix that bug too.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/md/bcache/writeback.c