[ndctl,v4,0/7] Improvements for namespace creation/interrogation
mbox series

Message ID 156504772175.847544.11368833704527657055.stgit@dwillia2-desk3.amr.corp.intel.com
Headers show
  • Improvements for namespace creation/interrogation
Related show


Dan Williams Aug. 5, 2019, 11:28 p.m. UTC
Changes since v3 [1]:
- Drop the warning suppression for gcc9.1.1 the complains about taking
  the address of packed structure members. This needs a rethink since
  even the kernel's common ioctl payloads are defined to be packed. This
  will require something like the kernel's (get_unaligned()) helpers.

- Fix up a static analysis report introduced by "ndctl/dimm: Minimize
  data-transfer for init-labels"

[1]: https://lists.01.org/pipermail/linux-nvdimm/2019-August/022869.html


This trimmed version includes the extent support for label operations
which significantly speeds up common label operations like
'init-labels'. It also fixes up some surprising results from
'create-namespace' where it would fail even though available capacity is


Dan Williams (7):
      ndctl/dimm: Support small label reads/writes
      ndctl/dimm: Minimize data-transfer for init-labels
      ndctl/dimm: Add offset and size options to {read,write,zero}-labels
      ndctl/dimm: Limit read-labels with --index option
      ndctl/namespace: Minimize label data transfer for autolabel
      ndctl/namespace: Continue region search on 'missing seed' event
      ndctl/namespace: Report ENOSPC when regions are full

 Documentation/ndctl/labels-options.txt    |    9 ++
 Documentation/ndctl/ndctl-read-labels.txt |    7 ++
 ndctl/dimm.c                              |   92 +++++++++++++++++--------
 ndctl/lib/dimm.c                          |   85 +++++++++++++++++++++--
 ndctl/lib/libndctl.c                      |  108 +++++++++++++++++++++++++----
 ndctl/lib/libndctl.sym                    |    9 ++
 ndctl/lib/private.h                       |    4 -
 ndctl/libndctl.h                          |    9 ++
 ndctl/namespace.c                         |   13 +++
 util/util.h                               |    4 +
 10 files changed, 285 insertions(+), 55 deletions(-)