Merge tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / mm / page-writeback.c
index e0c9430..ff24c9d 100644 (file)
@@ -261,14 +261,11 @@ static unsigned long global_dirtyable_memory(void)
  */
 void global_dirty_limits(unsigned long *pbackground, unsigned long *pdirty)
 {
+       const unsigned long available_memory = global_dirtyable_memory();
        unsigned long background;
        unsigned long dirty;
-       unsigned long uninitialized_var(available_memory);
        struct task_struct *tsk;
 
-       if (!vm_dirty_bytes || !dirty_background_bytes)
-               available_memory = global_dirtyable_memory();
-
        if (vm_dirty_bytes)
                dirty = DIV_ROUND_UP(vm_dirty_bytes, PAGE_SIZE);
        else
@@ -1078,13 +1075,13 @@ static void bdi_update_dirty_ratelimit(struct backing_dev_info *bdi,
        }
 
        if (dirty < setpoint) {
-               x = min(bdi->balanced_dirty_ratelimit,
-                        min(balanced_dirty_ratelimit, task_ratelimit));
+               x = min3(bdi->balanced_dirty_ratelimit,
+                        balanced_dirty_ratelimit, task_ratelimit);
                if (dirty_ratelimit < x)
                        step = x - dirty_ratelimit;
        } else {
-               x = max(bdi->balanced_dirty_ratelimit,
-                        max(balanced_dirty_ratelimit, task_ratelimit));
+               x = max3(bdi->balanced_dirty_ratelimit,
+                        balanced_dirty_ratelimit, task_ratelimit);
                if (dirty_ratelimit > x)
                        step = dirty_ratelimit - x;
        }
@@ -1780,7 +1777,7 @@ void __init page_writeback_init(void)
        writeback_set_ratelimit();
        register_cpu_notifier(&ratelimit_nb);
 
-       fprop_global_init(&writeout_completions);
+       fprop_global_init(&writeout_completions, GFP_KERNEL);
 }
 
 /**