Merge git://git.kvack.org/~bcrl/aio-next
[cascardo/linux.git] / mm / mremap.c
index c855922..17fa018 100644 (file)
@@ -99,7 +99,7 @@ static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd,
        spinlock_t *old_ptl, *new_ptl;
 
        /*
-        * When need_rmap_locks is true, we take the i_mmap_mutex and anon_vma
+        * When need_rmap_locks is true, we take the i_mmap_rwsem and anon_vma
         * locks to ensure that rmap will always observe either the old or the
         * new ptes. This is the easiest way to avoid races with
         * truncate_pagecache(), page migration, etc...
@@ -119,7 +119,7 @@ static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd,
        if (need_rmap_locks) {
                if (vma->vm_file) {
                        mapping = vma->vm_file->f_mapping;
-                       mutex_lock(&mapping->i_mmap_mutex);
+                       i_mmap_lock_write(mapping);
                }
                if (vma->anon_vma) {
                        anon_vma = vma->anon_vma;
@@ -156,7 +156,7 @@ static void move_ptes(struct vm_area_struct *vma, pmd_t *old_pmd,
        if (anon_vma)
                anon_vma_unlock_write(anon_vma);
        if (mapping)
-               mutex_unlock(&mapping->i_mmap_mutex);
+               i_mmap_unlock_write(mapping);
 }
 
 #define LATENCY_LIMIT  (64 * PAGE_SIZE)