Whamcloud - gitweb
Merge "LU-9771 flr: Merge branch 'flr'"
[fs/lustre-release.git] / libcfs / libcfs / libcfs_ptask.c
index 0548dae..f54b302 100644 (file)
@@ -276,9 +276,15 @@ int cfs_ptengine_set_cpumask(struct cfs_ptask_engine *engine,
        cpumask_copy(parallel_mask, cpumask);
        cpumask_copy(serial_mask, cpu_online_mask);
 
-       rc = padata_set_cpumasks(engine->pte_pinst, parallel_mask, serial_mask);
-
+       rc = padata_set_cpumask(engine->pte_pinst, PADATA_CPU_PARALLEL,
+                               parallel_mask);
        free_cpumask_var(parallel_mask);
+       if (rc)
+               goto out_failed_mask;
+
+       rc = padata_set_cpumask(engine->pte_pinst, PADATA_CPU_SERIAL,
+                               serial_mask);
+out_failed_mask:
        free_cpumask_var(serial_mask);
 #endif /* CONFIG_PADATA */
 
@@ -378,7 +384,7 @@ static int cfs_ptengine_padata_init(struct cfs_ptask_engine *engine,
        }
 
        engine->pte_weight = cpumask_weight(par_mask);
-       engine->pte_pinst  = padata_alloc(engine->pte_wq, par_mask, all_mask);
+       engine->pte_pinst  = padata_alloc_possible(engine->pte_wq);
        if (engine->pte_pinst == NULL)
                GOTO(err_free_par_mask, rc = -ENOMEM);
 
@@ -388,6 +394,10 @@ static int cfs_ptengine_padata_init(struct cfs_ptask_engine *engine,
        if (rc)
                GOTO(err_free_padata, rc);
 
+       rc = cfs_ptengine_set_cpumask(engine, par_mask);
+       if (rc)
+               GOTO(err_unregister, rc);
+
        rc = padata_start(engine->pte_pinst);
        if (rc)
                GOTO(err_unregister, rc);