diff options
author | Adrian Hunter <ext-adrian.hunter@nokia.com> | 2009-02-23 12:47:25 +0200 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2009-03-14 16:46:33 +0200 |
commit | f55aa59106b66cd547c8f296e0b3430ad76554c5 (patch) | |
tree | bcfbbf27c804ea19d10283d341602a0ef8c35c29 /fs/ubifs/super.c | |
parent | cb4f952db3a01a2d56eb17e0eb00ce99ae5f0f50 (diff) |
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>
Diffstat (limited to 'fs/ubifs/super.c')
0 files changed, 0 insertions, 0 deletions