• Linus Torvalds's avatar
    Merge tag 'libnvdimm-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 6078e07d
    Linus Torvalds authored
    Pull libnvdimm updates from Dan Williams:
    
     - Improve the efficiency and performance of reading nvdimm-namespace
       labels. Reduce the amount of label data read at driver load time by a
       few orders of magnitude. Reduce heavyweight call-outs to
       platform-firmware routines.
    
     - Handle media errors located in the 'struct page' array stored on a
       persistent memory namespace. Let the kernel clear these errors rather
       than an awkward userspace workaround.
    
     - Fix Address Range Scrub (ARS) completion tracking. Correct occasions
       where the kernel indicates completion of ARS before submission.
    
     - Fix asynchronous device registration reference counting.
    
     - Add support for reporting an nvdimm dirty-shutdown-count via sysfs.
    
     - Fix various small libnvdimm core and uapi issues.
    
    * tag 'libnvdimm-for-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (21 commits)
      acpi, nfit: Further restrict userspace ARS start requests
      acpi, nfit: Fix Address Range Scrub completion tracking
      UAPI: ndctl: Remove use of PAGE_SIZE
      UAPI: ndctl: Fix g++-unsupported initialisation in headers
      tools/testing/nvdimm: Populate dirty shutdown data
      acpi, nfit: Collect shutdown status
      acpi, nfit: Introduce nfit_mem flags
      libnvdimm, label: Fix sparse warning
      nvdimm: Use namespace index data to reduce number of label reads needed
      nvdimm: Split label init out from the logic for getting config data
      nvdimm: Remove empty if statement
      nvdimm: Clarify comment in sizeof_namespace_index
      nvdimm: Sanity check labeloff
      libnvdimm, dimm: Maximize label transfer size
      libnvdimm, pmem: Fix badblocks population for 'raw' namespaces
      libnvdimm, namespace: Drop the repeat assignment for variable dev->parent
      libnvdimm, region: Fail badblocks listing for inactive regions
      libnvdimm, pfn: during init, clear errors in the metadata area
      libnvdimm: Set device node in nd_device_register
      libnvdimm: Hold reference on parent while scheduling async init
      ...
    6078e07d
pmem.c 15.5 KB