1. 21 May, 2016 1 commit
    • Dan Williams's avatar
      libnvdimm, dax: fix deletion · 03dca343
      Dan Williams authored
      The ndctl unit tests discovered that the dax enabling omitted updates to
      nd_detach_and_reset().  This routine clears device the configuration
      when the namespace is detached.  Without this clearing userspace may
      assume that the device is in the process of being configured by another
      agent in the system.
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
  2. 09 May, 2016 1 commit
    • Dan Williams's avatar
      libnvdimm, dax: introduce device-dax infrastructure · cd03412a
      Dan Williams authored
      Device DAX is the device-centric analogue of Filesystem DAX
      (CONFIG_FS_DAX).  It allows persistent memory ranges to be allocated and
      mapped without need of an intervening file system.  This initial
      infrastructure arranges for a libnvdimm pfn-device to be represented as
      a different device-type so that it can be attached to a driver other
      than the pmem driver.
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
  3. 22 Apr, 2016 1 commit
    • Dan Williams's avatar
      libnvdimm, pmem, pfn: make pmem_rw_bytes generic and refactor pfn setup · 200c79da
      Dan Williams authored
      In preparation for providing an alternative (to block device) access
      mechanism to persistent memory, convert pmem_rw_bytes() to
      nsio_rw_bytes().  This allows ->rw_bytes() functionality without
      requiring a 'struct pmem_device' to be instantiated.
      In other words, when ->rw_bytes() is in use i/o is driven through
      'struct nd_namespace_io', otherwise it is driven through 'struct
      pmem_device' and the block layer.  This consolidates the disjoint calls
      to devm_exit_badblocks() and devm_memunmap() into a common
      devm_nsio_disable() and cleans up the init path to use a unified
      pmem_attach_disk() implementation.
      Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
  4. 29 Aug, 2015 1 commit
    • Dan Williams's avatar
      libnvdimm, pfn: 'struct page' provider infrastructure · e1455744
      Dan Williams authored
      Implement the base infrastructure for libnvdimm PFN devices. Similar to
      BTT devices they take a namespace as a backing device and layer
      functionality on top. In this case the functionality is reserving space
      for an array of 'struct page' entries to be handed out through
      pfn_to_page(). For now this is just the basic libnvdimm-device-model for
      configuring the base PFN device.
      As the namespace claiming mechanism for PFN devices is mostly identical
      to BTT devices drivers/nvdimm/claim.c is created to house the common
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>