]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - mm/memory.c
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
[karo-tx-linux.git] / mm / memory.c
index d7ca7de10f4d7db82d32d92de1c2f2c1a548c2fb..7a11ddd5060ff51067523c7872b85e0539537385 100644 (file)
@@ -1784,13 +1784,13 @@ int vmtruncate_range(struct inode *inode, loff_t offset, loff_t end)
        if (!inode->i_op || !inode->i_op->truncate_range)
                return -ENOSYS;
 
-       down(&inode->i_sem);
+       mutex_lock(&inode->i_mutex);
        down_write(&inode->i_alloc_sem);
        unmap_mapping_range(mapping, offset, (end - offset), 1);
        truncate_inode_pages_range(mapping, offset, end);
        inode->i_op->truncate_range(inode, offset, end);
        up_write(&inode->i_alloc_sem);
-       up(&inode->i_sem);
+       mutex_unlock(&inode->i_mutex);
 
        return 0;
 }
@@ -1977,7 +1977,6 @@ static int do_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,
                        goto release;
                inc_mm_counter(mm, anon_rss);
                lru_cache_add_active(page);
-               SetPageReferenced(page);
                page_add_new_anon_rmap(page, vma, address);
        } else {
                /* Map the ZERO_PAGE - vm_page_prot is readonly */
@@ -2268,6 +2267,8 @@ int __handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma,
        return handle_pte_fault(mm, vma, address, pte, pmd, write_access);
 }
 
+EXPORT_SYMBOL_GPL(__handle_mm_fault);
+
 #ifndef __PAGETABLE_PUD_FOLDED
 /*
  * Allocate page upper directory.