usb: gadget: udc: reduce indentation
[linux-2.6-block.git] / fs / dax.c
index 48132eca3761de2b4cdf7c6c75ab8efda8cf7a26..6959837cc4659e16e19788d7bc362c3fb10b1b4e 100644 (file)
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -246,18 +246,16 @@ static void wait_entry_unlocked(struct xa_state *xas, void *entry)
        ewait.wait.func = wake_exceptional_entry_func;
 
        wq = dax_entry_waitqueue(xas, entry, &ewait.key);
-       prepare_to_wait_exclusive(wq, &ewait.wait, TASK_UNINTERRUPTIBLE);
+       /*
+        * Unlike get_unlocked_entry() there is no guarantee that this
+        * path ever successfully retrieves an unlocked entry before an
+        * inode dies. Perform a non-exclusive wait in case this path
+        * never successfully performs its own wake up.
+        */
+       prepare_to_wait(wq, &ewait.wait, TASK_UNINTERRUPTIBLE);
        xas_unlock_irq(xas);
        schedule();
        finish_wait(wq, &ewait.wait);
-
-       /*
-        * Entry lock waits are exclusive. Wake up the next waiter since
-        * we aren't sure we will acquire the entry lock and thus wake
-        * the next waiter up on unlock.
-        */
-       if (waitqueue_active(wq))
-               __wake_up(wq, TASK_NORMAL, 1, &ewait.key);
 }
 
 static void put_unlocked_entry(struct xa_state *xas, void *entry)
@@ -779,7 +777,8 @@ static void dax_entry_mkclean(struct address_space *mapping, pgoff_t index,
 
        i_mmap_lock_read(mapping);
        vma_interval_tree_foreach(vma, &mapping->i_mmap, index, index) {
-               unsigned long address, start, end;
+               struct mmu_notifier_range range;
+               unsigned long address;
 
                cond_resched();
 
@@ -793,7 +792,8 @@ static void dax_entry_mkclean(struct address_space *mapping, pgoff_t index,
                 * call mmu_notifier_invalidate_range_start() on our behalf
                 * before taking any lock.
                 */
-               if (follow_pte_pmd(vma->vm_mm, address, &start, &end, &ptep, &pmdp, &ptl))
+               if (follow_pte_pmd(vma->vm_mm, address, &range,
+                                  &ptep, &pmdp, &ptl))
                        continue;
 
                /*
@@ -835,7 +835,7 @@ unlock_pte:
                        pte_unmap_unlock(ptep, ptl);
                }
 
-               mmu_notifier_invalidate_range_end(vma->vm_mm, start, end);
+               mmu_notifier_invalidate_range_end(&range);
        }
        i_mmap_unlock_read(mapping);
 }