UBIFS: fix bug where page is marked uptodate when out of space
authorAdrian Hunter <ext-adrian.hunter@nokia.com>
Mon, 23 Feb 2009 10:47:25 +0000 (12:47 +0200)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Sat, 14 Mar 2009 14:46:33 +0000 (16:46 +0200)
commitf55aa59106b66cd547c8f296e0b3430ad76554c5
treebcfbbf27c804ea19d10283d341602a0ef8c35c29
parentcb4f952db3a01a2d56eb17e0eb00ce99ae5f0f50
UBIFS: fix bug where page is marked uptodate when out of space

UBIFS fast path in write_begin may mark a page up to date
and then discover that there may not be enough space to do
the write, and so fall back to a slow path.  The slow path
tries harder, but may still find no space - leaving the page
marked up to date, when it is not.  This patch ensures that
the page is marked not up to date in that case.

The bug that this patch fixes becomes evident when the write
is into a hole (sparse file) or is at the end of the file
and a subsequent read is off the end of the file.  In both
cases, the file system should return zeros but was instead
returning the page that had not been written because the
file system was out of space.

Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
fs/ubifs/file.c