1. 01 8月, 2018 1 次提交
    • S
      device-dax: avoid hang on error before devm_memremap_pages() · b7751410
      Stefan Hajnoczi 提交于
      dax_pmem_percpu_exit() waits for dax_pmem_percpu_release() to invoke the
      dax_pmem->cmp completion.  Unfortunately this approach to cleaning up
      the percpu_ref only works after devm_memremap_pages() was successful.
      
      If devm_add_action_or_reset() or devm_memremap_pages() fails,
      dax_pmem_percpu_release() is not invoked.  Therefore
      dax_pmem_percpu_exit() hangs waiting for the completion:
      
        rc = devm_add_action_or_reset(dev, dax_pmem_percpu_exit,
        				&dax_pmem->ref);
        if (rc)
        	return rc;
      
        dax_pmem->pgmap.ref = &dax_pmem->ref;
        addr = devm_memremap_pages(dev, &dax_pmem->pgmap);
      
      Avoid the hang by calling percpu_ref_exit() in the error paths instead
      of going through dax_pmem_percpu_exit().
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NDave Jiang <dave.jiang@intel.com>
      b7751410
  2. 31 7月, 2018 4 次提交
  3. 28 7月, 2018 1 次提交
  4. 26 7月, 2018 2 次提交
  5. 15 7月, 2018 2 次提交
  6. 01 7月, 2018 1 次提交
  7. 29 6月, 2018 2 次提交
  8. 23 6月, 2018 1 次提交
  9. 22 6月, 2018 10 次提交
  10. 21 6月, 2018 4 次提交
  11. 20 6月, 2018 12 次提交