android_kernel_oneplus_msm8998/Documentation/device-mapper
Will Drewry 0fd87fad90 CHROMIUM: dm: boot time specification of dm=
This is a wrap-up of three patches pending upstream approval.
I'm bundling them because they are interdependent, and it'll be
easier to drop it on rebase later.

1. dm: allow a dm-fs-style device to be shared via dm-ioctl

Integrates feedback from Alisdair, Mike, and Kiyoshi.

Two main changes occur here:

- One function is added which allows for a programmatically created
mapped device to be inserted into the dm-ioctl hash table.  This binds
the device to a name and, optional, uuid which is needed by udev and
allows for userspace management of the mapped device.

- dm_table_complete() was extended to handle all of the final
functional changes required for the table to be operational once
called.

2. init: boot to device-mapper targets without an initr*

Add a dm= kernel parameter modeled after the md= parameter from
do_mounts_md.  It allows for device-mapper targets to be configured at
boot time for use early in the boot process (as the root device or
otherwise).  It also replaces /dev/XXX calls with major:minor opportunistically.

The format is dm="name uuid ro,table line 1,table line 2,...".  The
parser expects the comma to be safe to use as a newline substitute but,
otherwise, uses the normal separator of space.  Some attempt has been
made to make it forgiving of additional spaces (using skip_spaces()).

A mapped device created during boot will be assigned a minor of 0 and
may be access via /dev/dm-0.

An example dm-linear root with no uuid may look like:

root=/dev/dm-0  dm="lroot none ro, 0 4096 linear /dev/ubdb 0, 4096 4096 linear /dv/ubdc 0"

Once udev is started, /dev/dm-0 will become /dev/mapper/lroot.

Older upstream threads:
http://marc.info/?l=dm-devel&m=127429492521964&w=2
http://marc.info/?l=dm-devel&m=127429499422096&w=2
http://marc.info/?l=dm-devel&m=127429493922000&w=2

Latest upstream threads:
https://patchwork.kernel.org/patch/104859/
https://patchwork.kernel.org/patch/104860/
https://patchwork.kernel.org/patch/104861/

Bug: 27175947

Signed-off-by: Will Drewry <wad@chromium.org>

Review URL: http://codereview.chromium.org/2020011

Change-Id: I92bd53432a11241228d2e5ac89a3b20d19b05a31
Git-commit: 96b0434c25
Git-repo: https://android.googlesource.com/kernel/common
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
2016-10-28 17:08:21 -07:00
..
boot.txt CHROMIUM: dm: boot time specification of dm= 2016-10-28 17:08:21 -07:00
cache-policies.txt dm cache: switch the "default" cache replacement policy from mq to smq 2015-06-17 12:40:38 -04:00
cache.txt dm cache: display 'needs_check' in status if it is set 2015-07-16 10:23:50 -04:00
delay.txt dm delay: document that offsets are specified in sectors 2015-10-31 19:06:05 -04:00
dm-crypt.txt dm crypt: update URLs to new cryptsetup project page 2015-04-15 12:10:24 -04:00
dm-flakey.txt
dm-io.txt
dm-log.txt
dm-queue-length.txt
dm-raid.txt dm raid: document RAID 4/5/6 discard support 2015-08-31 15:05:31 -04:00
dm-service-time.txt
dm-uevent.txt
era.txt dm: add era target 2014-03-27 16:56:23 -04:00
kcopyd.txt
linear.txt
log-writes.txt dm: add log writes target 2015-04-15 12:10:24 -04:00
persistent-data.txt
snapshot.txt dm snapshot: add new persistent store option to support overflow 2015-10-09 16:57:03 -04:00
statistics.txt dm stats: report precise_timestamps and histogram in @stats_list output 2015-08-18 17:20:03 -04:00
striped.txt dm stripe: support for non power of 2 chunksize 2012-07-27 15:08:01 +01:00
switch.txt dm switch: fix Documentation to use plain text 2015-03-31 12:03:49 -04:00
thin-provisioning.txt dm thin: display 'needs_check' in status if it is set 2015-07-16 10:23:50 -04:00
verity.txt UPSTREAM: dm verity: add ignore_zero_blocks feature 2016-04-07 16:50:06 +05:30
zero.txt