android_kernel_oneplus_msm8998/fs
Dave Chinner a5491e0c7b fs: switch bdev inode bdi's correctly
bdev inodes can remain dirty even after their last close. Hence the
BDI associated with the bdev->inode gets modified duringthe last
close to point to the default BDI. However, the bdev inode still
needs to be moved to the dirty lists of the new BDI, otherwise it
will corrupt the writeback list is was left on.

Add a new function bdev_inode_switch_bdi() to move all the bdi state
from the old bdi to the new one safely. This is only a temporary
measure until the bdev inode<->bdi lifecycle problems are sorted
out.

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:14 -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: switch bdev inode bdi's correctly 2010-10-25 21:26:14 -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: Implement lazy LRU updates for inodes 2010-10-25 21:26:09 -04:00
fs_struct.c
generic_acl.c
inode.c fs: fix buffer invalidation in invalidate_list 2010-10-25 21:26:14 -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