write-back: fix nr_to_write counter
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Mon, 2 Feb 2009 16:33:49 +0000 (18:33 +0200)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Feb 2009 00:59:08 +0000 (16:59 -0800)
commitdcf6a79dda5cc2a2bec183e50d829030c0972aaa
tree557b2867e7c9df361f50b913936d60d4245cf6f8
parent5193535517825f9a07967e4868a1103013d0a99d
write-back: fix nr_to_write counter

Commit 05fe478dd04e02fa230c305ab9b5616669821dd3 introduced some
@wbc->nr_to_write breakage.

It made the following changes:
 1. Decrement wbc->nr_to_write instead of nr_to_write
 2. Decrement wbc->nr_to_write _only_ if wbc->sync_mode == WB_SYNC_NONE
 3. If synced nr_to_write pages, stop only if if wbc->sync_mode ==
    WB_SYNC_NONE, otherwise keep going.

However, according to the commit message, the intention was to only make
change 3.  Change 1 is a bug.  Change 2 does not seem to be necessary,
and it breaks UBIFS expectations, so if needed, it should be done
separately later.  And change 2 does not seem to be documented in the
commit message.

This patch does the following:
 1. Undo changes 1 and 2
 2. Add a comment explaining change 3 (it very useful to have comments
    in _code_, not only in the commit).

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Acked-by: Nick Piggin <npiggin@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page-writeback.c