summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorNick Piggin <npiggin@suse.de>2007-10-16 10:25:00 +0200
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 18:42:55 +0200
commit637aff46f94a754207c80c8c64bf1b74f24b967d (patch)
tree837fb3196236998c3c3ae44762ed3167ef0256f4 /mm
parentmm: buffered write iterator (diff)
downloadlinux-637aff46f94a754207c80c8c64bf1b74f24b967d.tar.xz
linux-637aff46f94a754207c80c8c64bf1b74f24b967d.zip
fs: fix data-loss on error
New buffers against uptodate pages are simply be marked uptodate, while the buffer_new bit remains set. This causes error-case code to zero out parts of those buffers because it thinks they contain stale data: wrong, they are actually uptodate so this is a data loss situation. Fix this by actually clearning buffer_new and marking the buffer dirty. It makes sense to always clear buffer_new before setting a buffer uptodate. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions