remarkable-linux/fs
Nick Piggin 7ccf19a804 fs: inode split IO and LRU lists
The use of the same inode list structure (inode->i_list) for two
different list constructs with different lifecycles and purposes
makes it impossible to separate the locking of the different
operations. Therefore, to enable the separation of the locking of
the writeback and reclaim lists, split the inode->i_list into two
separate lists dedicated to their specific tracking functions.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2010-10-25 21:26:15 -04:00
..
9p new helper: ihold() 2010-10-25 21:26:11 -04:00
adfs Merge branch 'vfs' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:01 -07:00
affs new helper: ihold() 2010-10-25 21:26:11 -04:00
afs new helper: ihold() 2010-10-25 21:26:11 -04:00
autofs Merge branch 'vfs' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:01 -07:00
autofs4 fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
befs
bfs new helper: ihold() 2010-10-25 21:26:11 -04:00
btrfs new helper: ihold() 2010-10-25 21:26:11 -04:00
cachefiles llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
ceph ceph: do not carry i_lock for readdir from dcache 2010-10-20 15:38:27 -07:00
cifs Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 2010-10-22 17:52:29 -07:00
coda new helper: ihold() 2010-10-25 21:26:11 -04:00
configfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
cramfs
debugfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
devpts
dlm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm 2010-10-22 17:33:16 -07:00
ecryptfs Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
efs
exofs new helper: ihold() 2010-10-25 21:26:11 -04:00
exportfs exportfs: use dget_parent 2010-10-25 21:26:13 -04:00
ext2 new helper: ihold() 2010-10-25 21:26:11 -04:00
ext3 new helper: ihold() 2010-10-25 21:26:11 -04:00
ext4 fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
fat Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block 2010-10-22 17:07:18 -07:00
freevxfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
fscache
fuse fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
gfs2 new helper: ihold() 2010-10-25 21:26:11 -04:00
hfs switch hfs to hlist_add_fake() 2010-10-25 21:24:16 -04:00
hfsplus new helper: ihold() 2010-10-25 21:26:11 -04:00
hostfs hostfs: fix UML crash: remove f_spare from hostfs 2010-10-25 21:18:21 -04:00
hpfs Merge branch 'vfs' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:01 -07:00
hppfs llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
hugetlbfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
isofs isofs: Fix isofs_get_blocks for 8TB files 2010-10-25 21:18:20 -04:00
jbd Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block 2010-10-22 17:07:18 -07:00
jbd2 Merge branch 'for-2.6.37/barrier' of git://git.kernel.dk/linux-2.6-block 2010-10-22 17:07:18 -07:00
jffs2 new helper: ihold() 2010-10-25 21:26:11 -04:00
jfs new helper: ihold() 2010-10-25 21:26:11 -04:00
lockd
logfs new helper: ihold() 2010-10-25 21:26:11 -04:00
minix new helper: ihold() 2010-10-25 21:26:11 -04:00
ncpfs
nfs new helper: ihold() 2010-10-25 21:26:11 -04:00
nfs_common
nfsd fs: add sync_inode_metadata 2010-10-25 21:18:19 -04:00
nilfs2 new helper: ihold() 2010-10-25 21:26:11 -04:00
nls
notify fsnotify: use dget_parent 2010-10-25 21:26:14 -04:00
ntfs new helper: ihold() 2010-10-25 21:26:11 -04:00
ocfs2 fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
omfs
openpromfs
partitions Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2010-10-25 07:45:10 -07:00
proc fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
qnx4 BKL: remove BKL from qnx4 2010-10-21 18:48:04 +02:00
quota
ramfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
reiserfs new helper: ihold() 2010-10-25 21:26:11 -04:00
romfs llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
smbfs smbfs: use dget_parent 2010-10-25 21:26:14 -04:00
squashfs Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
sysfs Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2010-10-22 19:36:42 -07:00
sysv new helper: ihold() 2010-10-25 21:26:11 -04:00
ubifs new helper: ihold() 2010-10-25 21:26:11 -04:00
udf new helper: ihold() 2010-10-25 21:26:11 -04:00
ufs new helper: ihold() 2010-10-25 21:26:11 -04:00
xfs fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
aio.c new helper: ihold() 2010-10-25 21:26:11 -04:00
anon_inodes.c fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
attr.c
bad_inode.c
binfmt_aout.c Don't dump task struct in a.out core-dumps 2010-10-14 10:57:40 -07:00
binfmt_elf.c ARM: 6342/1: fix ASLR of PIE executables 2010-10-08 10:02:53 +01:00
binfmt_elf_fdpic.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
binfmt_script.c
binfmt_som.c
bio-integrity.c
bio.c
block_dev.c fs: inode split IO and LRU lists 2010-10-25 21:26:15 -04:00
buffer.c fs/buffer.c: call __block_write_begin() if we have page 2010-10-25 21:18:23 -04:00
char_dev.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
compat.c
compat_binfmt_elf.c
compat_ioctl.c fix rawctl compat ioctls breakage on amd64 and itanic 2010-10-19 11:29:54 +02:00
dcache.c fs: use RCU read side protection in d_validate 2010-10-25 21:26:13 -04:00
dcookies.c
direct-io.c
drop_caches.c
eventfd.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
eventpoll.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
exec.c Export dump_{write,seek} to binary loader modules 2010-10-14 19:15:28 -07:00
fcntl.c
fifo.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
file.c
file_table.c fs: allow for more than 2^31 files 2010-10-25 21:18:20 -04:00
filesystems.c
fs-writeback.c fs: inode split IO and LRU lists 2010-10-25 21:26:15 -04:00
fs_struct.c
generic_acl.c
inode.c fs: inode split IO and LRU lists 2010-10-25 21:26:15 -04:00
internal.h fs: Convert nr_inodes and nr_unused to per-cpu counters 2010-10-25 21:26:09 -04:00
ioctl.c
ioprio.c
Kconfig fs: move exportfs since it is not a networking filesystem 2010-10-25 21:18:22 -04:00
Kconfig.binfmt
libfs.c new helper: ihold() 2010-10-25 21:26:11 -04:00
locks.c
Makefile
mbcache.c
mpage.c
namei.c new helper: ihold() 2010-10-25 21:26:11 -04:00
namespace.c vfs: fix infinite loop caused by clone_mnt race 2010-10-25 21:24:16 -04:00
nfsctl.c
no-block.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
open.c
pipe.c fs: do not assign default i_ino in new_inode 2010-10-25 21:26:11 -04:00
pnode.c
pnode.h
posix_acl.c
read_write.c vfs: introduce FMODE_UNSIGNED_OFFSET for allowing negative f_pos 2010-10-25 21:18:21 -04:00
read_write.h
readdir.c
select.c
seq_file.c fs: take dcache_lock inside __d_path 2010-10-25 21:26:12 -04:00
signalfd.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
splice.c
stack.c
stat.c
statfs.c
super.c
sync.c
timerfd.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
utimes.c
xattr.c
xattr_acl.c