From ee6a6ee4bb2d7eb44e7dd85a26d1aa0f35fa9be7 Mon Sep 17 00:00:00 2001 From: Hugh Dickins Date: Mon, 4 Feb 2008 22:28:43 -0800 Subject: [PATCH] --- yaml --- r: 83050 b: refs/heads/master c: 27d54b398ec0edea0e7417f003171017300e0efc h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/shmem.c | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 3b7de03756f2..d0362c1d5666 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 02098feaa42b2e0087fbbe6c6ab9a23e4653b16a +refs/heads/master: 27d54b398ec0edea0e7417f003171017300e0efc diff --git a/trunk/mm/shmem.c b/trunk/mm/shmem.c index 55b696aa3ddd..20cefe16eafb 100644 --- a/trunk/mm/shmem.c +++ b/trunk/mm/shmem.c @@ -78,11 +78,9 @@ /* Flag allocation requirements to shmem_getpage and shmem_swp_alloc */ enum sgp_type { - SGP_QUICK, /* don't try more than file page cache lookup */ SGP_READ, /* don't exceed i_size, don't allocate page */ SGP_CACHE, /* don't exceed i_size, may allocate page */ SGP_WRITE, /* may exceed i_size, may allocate page */ - SGP_FAULT, /* same as SGP_CACHE, return with page locked */ }; static int shmem_getpage(struct inode *inode, unsigned long idx, @@ -1116,8 +1114,6 @@ static int shmem_getpage(struct inode *inode, unsigned long idx, if (filepage && PageUptodate(filepage)) goto done; error = 0; - if (sgp == SGP_QUICK) - goto failed; gfp = mapping_gfp_mask(mapping); spin_lock(&info->lock); @@ -1292,7 +1288,7 @@ static int shmem_getpage(struct inode *inode, unsigned long idx, done: if (*pagep != filepage) { *pagep = filepage; - if (sgp != SGP_FAULT) + if (sgp != SGP_CACHE) unlock_page(filepage); } @@ -1315,7 +1311,7 @@ static int shmem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) if (((loff_t)vmf->pgoff << PAGE_CACHE_SHIFT) >= i_size_read(inode)) return VM_FAULT_SIGBUS; - error = shmem_getpage(inode, vmf->pgoff, &vmf->page, SGP_FAULT, &ret); + error = shmem_getpage(inode, vmf->pgoff, &vmf->page, SGP_CACHE, &ret); if (error) return ((error == -ENOMEM) ? VM_FAULT_OOM : VM_FAULT_SIGBUS);