linux-stable/fs/nilfs2
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
..
alloc.c nilfs2: fix gcc unused-but-set-variable warnings 2015-11-06 17:50:42 -08:00
alloc.h nilfs2: free unused dat file blocks during garbage collection 2015-11-06 17:50:42 -08:00
bmap.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
bmap.h nilfs2: add bmap function to seek a valid key 2015-04-17 09:04:03 -04:00
btnode.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
btnode.h
btree.c nilfs2: fix gcc uninitialized-variable warnings in powerpc build 2015-11-06 17:50:42 -08:00
btree.h
cpfile.c nilfs2: improve execution time of NILFS_IOCTL_GET_CPINFO ioctl 2015-04-17 09:04:04 -04:00
cpfile.h
dat.c nilfs2: fix gcc unused-but-set-variable warnings 2015-11-06 17:50:42 -08:00
dat.h
dir.c make ext2_get_page() and friends work without external serialization 2016-05-02 19:47:25 -04:00
direct.c nilfs2: add bmap function to seek a valid key 2015-04-17 09:04:03 -04:00
direct.h
export.h
file.c vfs: remove unused wrapper block_page_mkwrite() 2015-11-11 02:19:33 -05:00
gcinode.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
ifile.c ] nilfs2: use atomic64_t type for inodes_count and blocks_count fields in nilfs_root struct 2013-07-03 16:08:01 -07:00
ifile.h
inode.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
ioctl.c wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
Kconfig
Makefile nilfs2: integrate sysfs support into driver 2014-08-08 15:57:21 -07:00
mdt.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
mdt.h mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM 2015-11-06 17:50:42 -08:00
namei.c Merge getxattr prototype change into work.lookups 2016-05-02 19:45:47 -04:00
nilfs.h nilfs2: fix deadlock of segment constructor over I_SYNC flag 2015-02-05 13:35:29 -08:00
page.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
page.h fs: remove mapping->backing_dev_info 2015-01-20 14:03:05 -07:00
recovery.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
segbuf.c block: remove bio_get_nr_vecs() 2015-08-13 12:32:04 -06:00
segbuf.h
segment.c mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
segment.h nilfs2: add a tracepoint for tracking stage transition of segment construction 2015-11-06 17:50:42 -08:00
sufile.c nilfs2: fix gcc unused-but-set-variable warnings 2015-11-06 17:50:42 -08:00
sufile.h nilfs2: add nilfs_sufile_trim_fs to trim clean segs 2014-04-03 16:21:25 -07:00
super.c kmemcg: account certain kmem allocations to memcg 2016-01-14 16:00:49 -08:00
sysfs.c nilfs2: integrate sysfs support into driver 2014-08-08 15:57:21 -07:00
sysfs.h nilfs2: add /sys/fs/nilfs2/<device>/mounted_snapshots/<snapshot> group 2014-08-08 15:57:21 -07:00
the_nilfs.c nilfs2: deletion of an unnecessary check before the function call "iput" 2014-12-10 17:41:16 -08:00
the_nilfs.h nilfs2: add missing blkdev_issue_flush() to nilfs_sync_fs() 2014-10-14 02:18:20 +02:00