]> err.no Git - linux-2.6/blobdiff - mm/madvise.c
[PATCH] rename wakeup_bdflush to wakeup_pdflush
[linux-2.6] / mm / madvise.c
index e3108054733c2530fd28114b4814e27eda106ac0..73180a22877ed24bcbd01fbca9a2be10c799df2f 100644 (file)
@@ -65,7 +65,6 @@ static long madvise_behavior(struct vm_area_struct * vma,
        /*
         * vm_flags is protected by the mmap_sem held in write mode.
         */
-       VM_ClearReadHint(vma);
        vma->vm_flags = new_flags;
 
 out:
@@ -87,6 +86,11 @@ static long madvise_willneed(struct vm_area_struct * vma,
        if (!file)
                return -EBADF;
 
+       if (file->f_mapping->a_ops->get_xip_page) {
+               /* no bad return value, but ignore advice */
+               return 0;
+       }
+
        *prev = vma;
        start = ((start - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;
        if (end > vma->vm_end)