DESCRIPTION

dmsetup manages logical devices that use the device-mapper driver.
Devices are created by loading a table that specifies a target for
each sector (512 bytes) in the logical device.

The first argument to dmsetup is a command.
The second argument is the logical device name or uuid.

Invoking the command as devmap_name is equivalent to
dmsetup info -c --noheadings -j major -m minor.

OPTIONS

Tag

Description

-c|-C|--columns

Display output in columns rather than as Field: Value lines.

-j|--major major

Specify the major number.

-m|--minor minor

Specify the minor number.

-n|--noheadings

Suppress the headings line when using columnar output.

--noopencount

Tell the kernel not to supply the open reference count for the device.

--notable

When creating a device, dont load any table.

-o|--options

Specify which fields to display.

-r|--readonly

Set the table being loaded read-only.

--readahead [+]<sectors>|auto|none

Specify read ahead size in units of sectors.
The default value is "auto" which allows the kernel to choose
a suitable value automatically. The + prefix lets you
specify a minimum value which will not be used if it is
smaller than the value chosen by the kernel.
"None" is equivalent to specifying zero.

--table <table>

Specify a one-line table directly on the command line.

-u|--uuid

Specify the uuid.

-v|--verbose [-v|--verbose]

Produce additional output.

--version

Display the library and kernel driver version.

COMMANDS

Tag

Description

create

device_name [-u uuid] [--notable | --table <table> | table_file]
Creates a device with the given name.
If table_file or <table> is supplied, the table is loaded and made live.
Otherwise a table is read from standard input unless --notable is used.
The optional uuid can be used in place of
device_name in subsequent dmsetup commands.
If successful a device will appear as
/dev/device-mapper/<device-name>.
See below for information on the table format.

deps

[device_name]
Outputs a list of (major, minor) pairs for devices referenced by the
live table for the specified device.

help

[-c|-C|--columns]
Outputs a summary of the commands available, optionally including
the list of report fields.

info

[device_name]
Outputs some brief information about the device in the form:
State: SUSPENDED|ACTIVE, READ-ONLY
Tables present: LIVE and/or INACTIVE
Open reference count
Last event sequence number (used by wait)
Major and minor device number
Number of targets in the live table
UUID

info

[--noheadings] [--separator separator] [-o fields] [-O|--sort sort_fields][device_name]
Output you can customise.
Fields are comma-separated and chosen from the following list:
name, major, minor, attr, open, segments, events, uuid.
Attributes are: (L)ive, (I)nactive, (s)uspended, (r)ead-only, read-(w)rite.
Precede the list with + to append
to the default selection of columns instead of replacing it.
Precede any sort_field with - for a reverse sort on that column.

ls

[--target target_type][--exec command][--tree [-o options]]
List device names. Optionally only list devices that have at least
one target of the specified type. Optionally execute a command for
each device. The device name is appended to the supplied command.
--tree displays dependencies between devices as a tree.
It accepts a comma-separate list of options.
Some specify the information displayed against each node:
device/nodevice; active, open, rw, uuid.
Others specify how the tree is displayed:
ascii, utf, vt100; compact, inverted, notrunc.

load|reload

device_name [--table <table> | table_file]
Loads <table> or table_file into the inactive table slot for device_name.
If neither is supplied, reads a table from standard input.

message

device_name sector message
Send message to target. If sector not needed use 0.

mknodes

[device_name]
Ensure that the node in /dev/mapper for device_name is correct.
If no device_name is supplied, ensure that all nodes in /dev/mapper
correspond to mapped devices currently loaded by the device-mapper kernel
driver, adding, changing or removing nodes as necessary.

remove

[-f|--force] device_name
Removes a device. It will no longer be visible to dmsetup.
Open devices cannot be removed except with older kernels
that contain a version of device-mapper prior to 4.8.0.
In this case the device will be deleted when its open_count
drops to zero. From version 4.8.0 onwards, if a device cant
be removed because an uninterruptible process is waiting for
I/O to return from it, adding --force will replace the table
with one that fails all I/O, which might allow the
process to be killed.

remove_all

[-f|--force]
Attempts to remove all device definitions i.e. reset the driver.
Use with care! From version 4.8.0 onwards, if devices cant
be removed because uninterruptible processes are waiting for
I/O to return from them, adding --force will replace the table
with one that fails all I/O, which might allow the
process to be killed. This also runs mknodes afterwards.

rename

device_name new_name
Renames a device.

resume

device_name
Un-suspends a device.
If an inactive table has been loaded, it becomes live.
Postponed I/O then gets re-queued for processing.

setgeometry

device_name cyl head sect start
Sets the device geometry to C/H/S.

status

[--target target_type][device_name]
Outputs status information for each of the devices targets.
With --target, only information relating to the specified target type
is displayed.

suspend

[--nolockfs] [--noflush]device_name
Suspends a device. Any I/O that has already been mapped by the device
but has not yet completed will be flushed. Any further I/O to that
device will be postponed for as long as the device is suspended.
If theres a filesystem on the device which supports the operation,
an attempt will be made to sync it first unless --nolockfs is specified.
Some targets such as recent (October 2006) versions of multipath may support
the --noflush option. This lets outstanding I/O that has not yet reached the
device to remain unflushed.

table

[--target target_type][device_name]
Outputs the current table for the device in a format that can be fed
back in using the create or load commands.
With --target, only information relating to the specified target type
is displayed.

targets

Displays the names and versions of the currently-loaded targets.

version

Outputs version information.

wait

device_name[event_nr]
Sleeps until the event counter for device_name exceeds event_nr.
Use -v to see the event number returned.
To wait until the next event is triggered, use info to find
the last event number.

TABLE FORMAT

Each line of the table specifies a single target and is of the form:
logical_start_sector num_sectors target_type target_args

There are currently three simple target types available together
with more complex optional ones that implement snapshots and mirrors.