mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf
->fault(), ->page_mkwrite(), and ->pfn_mkwrite() calls do not need to take a vma and vmf parameter when the vma already resides in vmf. Remove the vma parameter to simplify things. [[email protected]: fix ARM build] Link: http://lkml.kernel.org/r/[email protected] Link: http://lkml.kernel.org/r/148521301778.19116.10840599906674778980.stgit@djiang5-desk3.ch.intel.com Signed-off-by: Dave Jiang <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Ross Zwisler <[email protected]> Cc: Theodore Ts'o <[email protected]> Cc: Darrick J. Wong <[email protected]> Cc: Matthew Wilcox <[email protected]> Cc: Dave Hansen <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Jan Kara <[email protected]> Cc: Dan Williams <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
374ad05ab6
commit
11bac80004
87 changed files with 283 additions and 290 deletions
19
mm/filemap.c
19
mm/filemap.c
|
|
@ -2169,7 +2169,6 @@ static void do_async_mmap_readahead(struct vm_area_struct *vma,
|
|||
|
||||
/**
|
||||
* filemap_fault - read in file data for page fault handling
|
||||
* @vma: vma in which the fault was taken
|
||||
* @vmf: struct vm_fault containing details of the fault
|
||||
*
|
||||
* filemap_fault() is invoked via the vma operations vector for a
|
||||
|
|
@ -2191,10 +2190,10 @@ static void do_async_mmap_readahead(struct vm_area_struct *vma,
|
|||
*
|
||||
* We never return with VM_FAULT_RETRY and a bit from VM_FAULT_ERROR set.
|
||||
*/
|
||||
int filemap_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
int filemap_fault(struct vm_fault *vmf)
|
||||
{
|
||||
int error;
|
||||
struct file *file = vma->vm_file;
|
||||
struct file *file = vmf->vma->vm_file;
|
||||
struct address_space *mapping = file->f_mapping;
|
||||
struct file_ra_state *ra = &file->f_ra;
|
||||
struct inode *inode = mapping->host;
|
||||
|
|
@ -2216,12 +2215,12 @@ int filemap_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
|||
* We found the page, so try async readahead before
|
||||
* waiting for the lock.
|
||||
*/
|
||||
do_async_mmap_readahead(vma, ra, file, page, offset);
|
||||
do_async_mmap_readahead(vmf->vma, ra, file, page, offset);
|
||||
} else if (!page) {
|
||||
/* No page in the page cache at all */
|
||||
do_sync_mmap_readahead(vma, ra, file, offset);
|
||||
do_sync_mmap_readahead(vmf->vma, ra, file, offset);
|
||||
count_vm_event(PGMAJFAULT);
|
||||
mem_cgroup_count_vm_event(vma->vm_mm, PGMAJFAULT);
|
||||
mem_cgroup_count_vm_event(vmf->vma->vm_mm, PGMAJFAULT);
|
||||
ret = VM_FAULT_MAJOR;
|
||||
retry_find:
|
||||
page = find_get_page(mapping, offset);
|
||||
|
|
@ -2229,7 +2228,7 @@ retry_find:
|
|||
goto no_cached_page;
|
||||
}
|
||||
|
||||
if (!lock_page_or_retry(page, vma->vm_mm, vmf->flags)) {
|
||||
if (!lock_page_or_retry(page, vmf->vma->vm_mm, vmf->flags)) {
|
||||
put_page(page);
|
||||
return ret | VM_FAULT_RETRY;
|
||||
}
|
||||
|
|
@ -2396,14 +2395,14 @@ next:
|
|||
}
|
||||
EXPORT_SYMBOL(filemap_map_pages);
|
||||
|
||||
int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
int filemap_page_mkwrite(struct vm_fault *vmf)
|
||||
{
|
||||
struct page *page = vmf->page;
|
||||
struct inode *inode = file_inode(vma->vm_file);
|
||||
struct inode *inode = file_inode(vmf->vma->vm_file);
|
||||
int ret = VM_FAULT_LOCKED;
|
||||
|
||||
sb_start_pagefault(inode->i_sb);
|
||||
file_update_time(vma->vm_file);
|
||||
file_update_time(vmf->vma->vm_file);
|
||||
lock_page(page);
|
||||
if (page->mapping != inode->i_mapping) {
|
||||
unlock_page(page);
|
||||
|
|
|
|||
Loading…
Reference in a new issue