android_kernel_samsung_msm8976/mm
Dave Chinner 250df6ed27 fs: protect inode->i_state with inode->i_lock
Protect inode state transitions and validity checks with the
inode->i_lock. This enables us to make inode state transitions
independently of the inode_lock and is the first step to peeling
away the inode_lock from the code.

This requires that __iget() is done atomically with i_state checks
during list traversals so that we don't race with another thread
marking the inode I_FREEING between the state check and grabbing the
reference.

Also remove the unlock_new_inode() memory barrier optimisation
required to avoid taking the inode_lock when clearing I_NEW.
Simplify the code by simply taking the inode->i_lock around the
state change and wakeup. Because the wakeup is no longer tricky,
remove the wake_up_inode() function and open code the wakeup where
necessary.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2011-03-24 21:16:31 -04:00
..
backing-dev.c
bootmem.c crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn 2011-03-23 19:47:19 -07:00
bounce.c
compaction.c mm: compaction: minimise the time IRQs are disabled while isolating pages for migration 2011-03-22 17:44:05 -07:00
debug-pagealloc.c
dmapool.c
fadvise.c
failslab.c
filemap.c fs: protect inode->i_state with inode->i_lock 2011-03-24 21:16:31 -04:00
filemap_xip.c
fremap.c
highmem.c
huge_memory.c mm: use __GFP_OTHER_NODE for transparent huge pages 2011-03-22 17:44:05 -07:00
hugetlb.c hugetlbfs: correct handling of negative input to /proc/sys/vm/nr_hugepages 2011-03-22 17:44:04 -07:00
hwpoison-inject.c
init-mm.c
internal.h mm: export __get_user_pages 2011-03-17 13:08:27 -03:00
Kconfig
Kconfig.debug mm: debug-pagealloc: fix kconfig dependency warning 2011-03-22 17:44:02 -07:00
kmemcheck.c
kmemleak-test.c
kmemleak.c
ksm.c mm: rename drop_anon_vma() to put_anon_vma() 2011-03-22 17:44:03 -07:00
maccess.c
madvise.c
Makefile bootmem: Separate out CONFIG_NO_BOOTMEM code into nobootmem.c 2011-02-24 14:43:05 +01:00
memblock.c mm/memblock: properly handle overlaps and fix error path 2011-03-22 17:44:09 -07:00
memcontrol.c memcg: fix leak on wrong LRU with FUSE 2011-03-23 19:46:33 -07:00
memory-failure.c mm: change __remove_from_page_cache() 2011-03-22 17:44:02 -07:00
memory.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2011-03-23 20:51:42 -07:00
memory_hotplug.c
mempolicy.c mempolicy: remove redundant check in __mpol_equal() 2011-03-22 17:44:04 -07:00
mempool.c
migrate.c memcg: fix ugly initialization of return value is in caller 2011-03-23 19:46:22 -07:00
mincore.c
mlock.c mm: arch: make get_gate_vma take an mm_struct instead of a task_struct 2011-03-23 16:36:54 -04:00
mm_init.c
mmap.c
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c
mremap.c mm: fix possible cause of a page_mapped BUG 2011-02-23 21:55:06 -08:00
msync.c
nobootmem.c crash_dump: export is_kdump_kernel to modules, consolidate elfcorehdr_addr, setup_elfcorehdr and saved_max_pfn 2011-03-23 19:47:19 -07:00
nommu.c mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm 2011-03-23 16:36:55 -04:00
oom_kill.c memcg: give current access to memory reserves if it's trying to die 2011-03-23 19:46:33 -07:00
page-writeback.c writeback: make mapping->writeback_index to point to the last written page 2011-03-22 17:44:09 -07:00
page_alloc.c memcg: add memcg sanity checks at allocating and freeing pages 2011-03-23 19:46:25 -07:00
page_cgroup.c memcg: page_cgroup array is never stored on reserved pages 2011-03-23 19:46:33 -07:00
page_io.c
page_isolation.c
pagewalk.c pagewalk: only split huge pages when necessary 2011-03-22 17:44:04 -07:00
percpu-km.c
percpu-vm.c
percpu.c
pgtable-generic.c
prio_tree.c
quicklist.c
readahead.c
rmap.c fs: protect inode->i_state with inode->i_lock 2011-03-24 21:16:31 -04:00
shmem.c shmem: let shared anonymous be nonlinear again 2011-03-22 17:44:09 -07:00
slab.c mm: notifier_from_errno() cleanup 2011-03-22 17:44:01 -07:00
slob.c
slub.c slub: Add statistics for this_cmpxchg_double failures 2011-03-22 20:48:04 +02:00
sparse-vmemmap.c
sparse.c
swap.c mm: simplify code of swap.c 2011-03-22 17:44:09 -07:00
swap_state.c
swapfile.c memcg: fix ugly initialization of return value is in caller 2011-03-23 19:46:22 -07:00
thrash.c
truncate.c mm: deactivate invalidated pages 2011-03-22 17:44:03 -07:00
util.c
vmalloc.c vmalloc: remove confusing comment on vwrite() 2011-03-22 17:44:09 -07:00
vmscan.c mm: vmscan: kswapd should not free an excessive number of pages when balancing small zones 2011-03-22 17:44:04 -07:00
vmstat.c mm: add __GFP_OTHER_NODE flag 2011-03-22 17:44:05 -07:00