CIFS: Move creating lease buffer to ops struct
[firefly-linux-kernel-4.4.55.git] / mm / memory-failure.c
index 2c13aa7a0164101a360e4f776090f6b183aab5ab..d84c5e5331bb5199632f46fda6d3ca3fef9dbaf4 100644 (file)
@@ -1265,7 +1265,7 @@ void memory_failure_queue(unsigned long pfn, int trapno, int flags)
        if (kfifo_put(&mf_cpu->fifo, &entry))
                schedule_work_on(smp_processor_id(), &mf_cpu->work);
        else
-               pr_err("Memory failure: buffer overflow when queuing memory failure at 0x%#lx\n",
+               pr_err("Memory failure: buffer overflow when queuing memory failure at %#lx\n",
                       pfn);
        spin_unlock_irqrestore(&mf_cpu->lock, proc_flags);
        put_cpu_var(memory_failure_cpu);
@@ -1286,7 +1286,10 @@ static void memory_failure_work_func(struct work_struct *work)
                spin_unlock_irqrestore(&mf_cpu->lock, proc_flags);
                if (!gotten)
                        break;
-               memory_failure(entry.pfn, entry.trapno, entry.flags);
+               if (entry.flags & MF_SOFT_OFFLINE)
+                       soft_offline_page(pfn_to_page(entry.pfn), entry.flags);
+               else
+                       memory_failure(entry.pfn, entry.trapno, entry.flags);
        }
 }