linux-stable/fs/ext2
Al Viro be5b82dbfe make ext2_get_page() and friends work without external serialization
Right now ext2_get_page() (and its analogues in a bunch of other filesystems)
relies upon the directory being locked - the way it sets and tests Checked and
Error bits would be racy without that.  Switch to a slightly different scheme,
_not_ setting Checked in case of failure.  That way the logics becomes
	if Checked => OK
	else if Error => fail
	else if !validate => fail
	else => OK
with validation setting Checked or Error on success and failure resp. and
returning which one had happened.  Equivalent to the current logics, but unlike
the current logics not sensitive to the order of set_bit, test_bit getting
reordered by CPU, etc.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-05-02 19:47:25 -04:00
..
acl.c posix_acl: Inode acl caching fixes 2016-03-31 00:30:15 -04:00
acl.h ext2/3/4: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
balloc.c Ext2: remove the static function release_blocks to optimize the kernel 2013-02-07 16:44:56 +01:00
dir.c make ext2_get_page() and friends work without external serialization 2016-05-02 19:47:25 -04:00
ext2.h mbcache2: rename to mbcache 2016-02-22 22:35:22 -05:00
file.c ext2, ext4: fix issue with missing journal entry in ext4_dax_mkwrite() 2016-02-27 14:01:16 -05:00
ialloc.c ext2: Handle error from dquot_initalize() 2015-07-23 20:59:37 +02:00
inode.c dax: move writeback calls into the filesystems 2016-02-27 10:28:52 -08:00
ioctl.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
Kconfig vfs,ext2: remove CONFIG_EXT2_FS_XIP and rename CONFIG_FS_XIP to CONFIG_FS_DAX 2015-02-16 17:56:04 -08:00
Makefile ext2: remove xip.c and xip.h 2015-02-16 17:56:03 -08:00
namei.c Merge getxattr prototype change into work.lookups 2016-05-02 19:45:47 -04:00
super.c ext2: convert to mbcache2 2016-02-22 11:56:38 -05:00
symlink.c switch ->get_link() to delayed_call, kill ->put_link() 2015-12-30 13:01:03 -05:00
xattr.c mbcache: add reusable flag to cache entries 2016-02-22 22:44:04 -05:00
xattr.h mbcache2: rename to mbcache 2016-02-22 22:35:22 -05:00
xattr_security.c xattr_handler: pass dentry and inode as separate arguments of ->get() 2016-04-10 20:48:24 -04:00
xattr_trusted.c xattr_handler: pass dentry and inode as separate arguments of ->get() 2016-04-10 20:48:24 -04:00
xattr_user.c xattr_handler: pass dentry and inode as separate arguments of ->get() 2016-04-10 20:48:24 -04:00