[PATCH] ENOSPC correctness
authorAndrew Morton <akpm@zip.com.au>
Mon, 18 Feb 2002 01:01:56 +0000 (17:01 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Mon, 18 Feb 2002 01:01:56 +0000 (17:01 -0800)
commit071c9b22a256c3a08aeb73dc64f7b8613a2fc02c
tree7d6b6d3dce2bd600e3829180428f6a08eacdc98c
parent1c0007199ed64aa1cf2397ebeaa3f640d51d23a5
[PATCH] ENOSPC correctness

A forward-port.  This is the code which prevents ENOSPC
errors from exposing stale data within filesystems.

- in generic_file_write(), if prepare_write() fails, truncate
  the file to drop any part-added blocks.

- in __block_write_full_page(), if we hit an error,  push
  whatever buffers we _have_ mapped into the file out to disk.

- in __block_prepare_write(), if we hit an error, zero out
  any blocks which we did manage to map into the file.  This
  is because the caller won't be doing any writing to those
  blocks due to the error.
fs/buffer.c
mm/filemap.c