linux_dsm_epyc7002/fs/ubifs
Adrian Hunter f55aa59106 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>
2009-03-14 16:46:33 +02:00
..
budget.c UBIFS: add re-mount debugging checks 2009-01-26 12:54:11 +02:00
commit.c UBIFS: separate debugging fields out 2008-12-03 13:14:33 +02:00
compress.c UBIFS: fix sparse warnings 2008-12-31 14:13:24 +02:00
debug.c UBIFS: spelling fix 'date' -> 'data' 2009-01-29 16:15:51 +02:00
debug.h UBIFS: add re-mount debugging checks 2009-01-26 12:54:11 +02:00
dir.c UBIFS: simplify locking 2009-01-26 12:54:11 +02:00
file.c UBIFS: fix bug where page is marked uptodate when out of space 2009-03-14 16:46:33 +02:00
find.c UBIFS: improve find function interface 2009-03-08 13:29:09 +02:00
gc.c UBIFS: remount ro fixes 2009-01-29 16:19:36 +02:00
io.c UBIFS: fix no_chk_data_crc 2009-01-27 16:25:10 +02:00
ioctl.c UBIFS: fix writing uncompressed files 2008-12-31 14:13:25 +02:00
journal.c UBIFS: improve find function interface 2009-03-08 13:29:09 +02:00
Kconfig trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
key.h UBIFS: amend key_hash return value 2009-03-08 13:29:41 +02:00
log.c UBIFS: list usage cleanup 2009-02-17 12:45:22 +02:00
lprops.c UBIFS: add re-mount debugging checks 2009-01-26 12:54:11 +02:00
lpt_commit.c UBIFS: fix dbg_chk_lpt_sz() 2009-02-09 13:52:49 +02:00
lpt.c UBIFS: use nicer 64-bit math 2008-12-23 12:23:40 +02:00
Makefile UBIFS: include to compilation 2008-07-15 17:35:24 +03:00
master.c UBIFS: return sensible error codes 2009-01-29 16:22:54 +02:00
misc.h UBIFS: inline one-line functions 2008-09-30 11:12:56 +03:00
orphan.c UBIFS: ensure orphan area head is initialized 2009-01-26 12:54:11 +02:00
recovery.c UBIFS: fix compilation warnings 2008-11-06 11:06:31 +02:00
replay.c UBIFS: restore budg_uncommitted_idx 2008-12-31 14:13:24 +02:00
sb.c UBIFS: use nicer 64-bit math 2008-12-23 12:23:40 +02:00
scan.c UBIFS: add no_chk_data_crc mount option 2008-09-30 11:12:56 +03:00
shrinker.c UBIFS: list usage cleanup 2009-02-17 12:45:22 +02:00
super.c UBIFS: remove fast unmounting 2009-01-29 16:34:30 +02:00
tnc_commit.c UBIFS: re-calculate min_idx_size after the commit 2008-12-23 12:24:05 +02:00
tnc_misc.c UBIFS: correct key comparison 2008-09-30 11:12:57 +03:00
tnc.c UBIFS: fix no_chk_data_crc 2009-01-27 16:25:10 +02:00
ubifs-media.h UBIFS: slight compression optimization 2008-12-03 13:13:50 +02:00
ubifs.h UBIFS: improve find function interface 2009-03-08 13:29:09 +02:00
xattr.c UBIFS: remove unneeded unlikely() 2008-09-30 11:12:55 +03:00