1NDCTL-DESTROY-NAMESPACE(1) ndctl Manual NDCTL-DESTROY-NAMESPACE(1)
2
3
4
6 ndctl-destroy-namespace - destroy the given namespace(s)
7
9 ndctl destroy-namespace <namespace> [<options>]
10
12 The capacity of an NVDIMM REGION (contiguous span of persistent memory)
13 is accessed via one or more NAMESPACE devices. REGION is the Linux term
14 for what ACPI and UEFI call a DIMM-interleave-set, or a
15 system-physical-address-range that is striped (by the memory
16 controller) across one or more memory modules.
17
18 The UEFI specification defines the NVDIMM Label Protocol as the
19 combination of label area access methods and a data format for
20 provisioning one or more NAMESPACE objects from a REGION. Note that
21 label support is optional and if Linux does not detect the label
22 capability it will automatically instantiate a "label-less" namespace
23 per region. Examples of label-less namespaces are the ones created by
24 the kernel’s memmap=ss!nn command line option (see the nvdimm wiki on
25 kernel.org), or NVDIMMs without a valid namespace index in their label
26 area.
27
28 Note
29 Label-less namespaces lack many of the features of their label-rich
30 cousins. For example, their size cannot be modified, or they cannot
31 be fully destroyed (i.e. the space reclaimed). A destroy operation
32 will zero any mode-specific metadata. Finally, for create-namespace
33 operations on label-less namespaces, ndctl bypasses the region
34 capacity availability checks, and always satisfies the request
35 using the full region capacity. The only reconfiguration operation
36 supported on a label-less namespace is changing its mode.
37
38 A namespace can be provisioned to operate in one of 4 modes, fsdax,
39 devdax, sector, and raw. Here are the expected usage models for these
40 modes:
41
42 · fsdax: Filesystem-DAX mode is the default mode of a namespace when
43 specifying ndctl create-namespace with no options. It creates a
44 block device (/dev/pmemX[.Y]) that supports the DAX capabilities of
45 Linux filesystems (xfs and ext4 to date). DAX removes the page
46 cache from the I/O path and allows mmap(2) to establish direct
47 mappings to persistent memory media. The DAX capability enables
48 workloads / working-sets that would exceed the capacity of the page
49 cache to scale up to the capacity of persistent memory. Workloads
50 that fit in page cache or perform bulk data transfers may not see
51 benefit from DAX. When in doubt, pick this mode.
52
53 · devdax: Device-DAX mode enables similar mmap(2) DAX mapping
54 capabilities as Filesystem-DAX. However, instead of a block-device
55 that can support a DAX-enabled filesystem, this mode emits a single
56 character device file (/dev/daxX.Y). Use this mode to assign
57 persistent memory to a virtual-machine, register persistent memory
58 for RDMA, or when gigantic mappings are needed.
59
60 · sector: Use this mode to host legacy filesystems that do not
61 checksum metadata or applications that are not prepared for torn
62 sectors after a crash. Expected usage for this mode is for small
63 boot volumes. This mode is compatible with other operating systems.
64
65 · raw: Raw mode is effectively just a memory disk that does not
66 support DAX. Typically this indicates a namespace that was created
67 by tooling or another operating system that did not know how to
68 create a Linux fsdax or devdax mode namespace. This mode is
69 compatible with other operating systems, but again, does not
70 support DAX operation.
71
73 <namespace>
74 A namespaceX.Y device name. The keyword all can be specified to
75 carry out the operation on every namespace in the system,
76 optionally filtered by region (see --region=option)
77
78 -r, --region=
79 A regionX device name, or a region id number. Restrict the
80 operation to the specified region(s). The keyword all can be
81 specified to indicate the lack of any restriction, however this is
82 the same as not supplying a --region option at all.
83
84 -b, --bus=
85 A bus id number, or a provider string (e.g. "ACPI.NFIT"). Restrict
86 the operation to the specified bus(es). The keyword all can be
87 specified to indicate the lack of any restriction, however this is
88 the same as not supplying a --bus option at all.
89
90 -v, --verbose
91 Emit debug messages for the namespace operation
92
93 -f, --force
94 Unless this option is specified the destroy namespace operation
95 will fail if the namespace is presently active. Specifying --force
96 causes the namespace to be disabled before the operation is
97 attempted. However, if the namespace is mounted then the disable
98 namespace and destroy namespace operations will be aborted. The
99 namespace must be unmounted before being destroyed.
100
102 Copyright (c) 2016 - 2019, Intel Corporation. License GPLv2: GNU GPL
103 version 2 http://gnu.org/licenses/gpl.html. This is free software: you
104 are free to change and redistribute it. There is NO WARRANTY, to the
105 extent permitted by law.
106
108 ndctl-create-namespace(1)
109
110
111
112ndctl 2020-03-24 NDCTL-DESTROY-NAMESPACE(1)