WSL2-Linux-Kernel/fs/ntfs
Al Viro d311d79de3 fix O_SYNC|O_APPEND syncing the wrong range on write()
It actually goes back to 2004 ([PATCH] Concurrent O_SYNC write support)
when sync_page_range() had been introduced; generic_file_write{,v}() correctly
synced
	pos_after_write - written .. pos_after_write - 1
but generic_file_aio_write() synced
	pos_before_write .. pos_before_write + written - 1
instead.  Which is not the same thing with O_APPEND, obviously.
A couple of years later correct variant had been killed off when
everything switched to use of generic_file_aio_write().

All users of generic_file_aio_write() are affected, and the same bug
has been copied into other instances of ->aio_write().

The fix is trivial; the only subtle point is that generic_write_sync()
ought to be inlined to avoid calculations useless for the majority of
calls.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2014-02-09 15:18:09 -05:00
..
Kconfig fs/Kconfig: move ntfs out 2009-01-22 13:15:55 +03:00
Makefile fs: change to new flag variable 2011-03-17 14:02:57 +01:00
aops.c mm: change invalidatepage prototype to accept length 2013-05-21 23:17:23 -04:00
aops.h mm: make read_cache_page synchronous 2007-05-07 12:12:51 -07:00
attrib.c ntfs: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:25 +08:00
attrib.h
bitmap.c
bitmap.h
collate.c
collate.h
compress.c Fix common misspellings 2011-03-31 11:26:23 -03:00
debug.c
debug.h treewide: use __printf not __attribute__((format(printf,...))) 2011-10-31 17:30:54 -07:00
dir.c [readdir] convert ntfs 2013-06-29 12:56:48 +04:00
dir.h
endian.h
file.c fix O_SYNC|O_APPEND syncing the wrong range on write() 2014-02-09 15:18:09 -05:00
index.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
index.h
inode.c iget/iget5: don't bother with ->i_lock until we find a match 2013-11-09 00:16:31 -05:00
inode.h ntfs: drop vmtruncate 2012-12-20 18:40:55 -05:00
layout.h Typos: change aditional to additional. 2012-02-21 11:40:36 +01:00
lcnalloc.c
lcnalloc.h
logfile.c Fix common misspellings 2011-03-31 11:26:23 -03:00
logfile.h Fix common misspellings 2011-03-31 11:26:23 -03:00
malloc.h mm: replace various uses of num_physpages by totalram_pages 2009-09-22 07:17:38 -07:00
mft.c NTFS: Correct two spelling errors "dealocate" to "deallocate" in mft.c. 2012-02-24 09:17:09 +00:00
mft.h
mst.c
namei.c stop passing nameidata to ->lookup() 2012-07-14 16:34:32 +04:00
ntfs.h exportfs: make struct export_operations const 2007-10-22 08:13:21 -07:00
quota.c
quota.h
runlist.c Fix common misspellings 2011-03-31 11:26:23 -03:00
runlist.h
super.c fs: Limit sys_mount to only request filesystem modules. 2013-03-03 19:36:31 -08:00
sysctl.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
sysctl.h Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
time.h
types.h
unistr.c [PATCH] slab: remove SLAB_NOFS 2006-12-07 08:39:23 -08:00
upcase.c ntfs: le*_add_cpu conversion 2008-05-24 09:56:08 -07:00
usnjrnl.c
usnjrnl.h ntfs: remove private wrapper of endian helpers 2009-04-01 08:59:18 -07:00
volume.h userns: Convert ntfs to use kuid and kgid where appropriate 2012-09-21 03:13:15 -07:00