[PATCH] VFS: return ENOBUFS instead of ENOMEM for vfs_write() As noticed by Dmitry Torokhov, write() can not return ENOMEM: http://www.opengroup.org/onlinepubs/000095399/functions/write.html Currently almost all filesystems can return -ENOMEM due to generic_file_buffered_write() in mm/filemap.c so filter out the invalid error code in vfs_write(). Signed-off-by: Pekka Enberg --- read_write.c | 2 ++ 1 files changed, 2 insertions(+) Index: 2.6-mm/fs/read_write.c =================================================================== --- 2.6-mm.orig/fs/read_write.c +++ 2.6-mm/fs/read_write.c @@ -310,6 +310,8 @@ ssize_t vfs_write(struct file *file, con } } + if (ret == -ENOMEM) + ret = -ENOBUFS; return ret; }