[PATCH] msync correctness
authorAndrew Morton <akpm@zip.com.au>
Mon, 18 Feb 2002 01:01:52 +0000 (17:01 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Mon, 18 Feb 2002 01:01:52 +0000 (17:01 -0800)
commit1c0007199ed64aa1cf2397ebeaa3f640d51d23a5
tree31fafe30642495b21017a948bccc91ffcc0728ec
parent6c5e0f13088f22c3f23e229a80d24d9526bb16e0
[PATCH] msync correctness

A forward port.  At present, msync() does not report errors
from EIO or ENOSPC.  fsync() has the same bug for mapped pages
against the affected fd.

The patch correctly propagates these errors back up from
writepage so that fsync and msync correctly report errors.

It's fairly important - msync is the only way we have
of reporting ENOSPC against sparse mappings.

Of course, you can still silently lose your data if it's kswapd who
gets ENOSPC during writepage.  I have 3/4 of a patch for that.  It
records the data loss so that a later msync() will report the bad
news.

This patch also adds an implementation of msync(MS_ASYNC), because
it was easy.
fs/block_dev.c
fs/buffer.c
fs/nfs/file.c
include/linux/fs.h
mm/filemap.c