UPSTREAM: mmc: core: update mmc.c upstream version
[firefly-linux-kernel-4.4.55.git] / drivers / md / dm-kcopyd.c
index d581fe5d2faf1df83f1fce5725926c8619d7e7aa..1452ed9aacb4222e4ee86c28480ddf373ac5e3c7 100644 (file)
@@ -244,7 +244,7 @@ static int kcopyd_get_pages(struct dm_kcopyd_client *kc,
        *pages = NULL;
 
        do {
-               pl = alloc_pl(__GFP_NOWARN | __GFP_NORETRY);
+               pl = alloc_pl(__GFP_NOWARN | __GFP_NORETRY | __GFP_KSWAPD_RECLAIM);
                if (unlikely(!pl)) {
                        /* Use reserved pages */
                        pl = kc->pages;
@@ -833,8 +833,7 @@ struct dm_kcopyd_client *dm_kcopyd_client_create(struct dm_kcopyd_throttle *thro
                goto bad_slab;
 
        INIT_WORK(&kc->kcopyd_work, do_work);
-       kc->kcopyd_wq = alloc_workqueue("kcopyd",
-                                       WQ_NON_REENTRANT | WQ_MEM_RECLAIM, 0);
+       kc->kcopyd_wq = alloc_workqueue("kcopyd", WQ_MEM_RECLAIM, 0);
        if (!kc->kcopyd_wq)
                goto bad_workqueue;