xref: /openbmc/linux/Documentation/admin-guide/device-mapper/dm-ebs.rst (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1d3c7b35cSHeinz Mauelshagen======
2d3c7b35cSHeinz Mauelshagendm-ebs
3d3c7b35cSHeinz Mauelshagen======
4d3c7b35cSHeinz Mauelshagen
5d3c7b35cSHeinz Mauelshagen
6d3c7b35cSHeinz MauelshagenThis target is similar to the linear target except that it emulates
7d3c7b35cSHeinz Mauelshagena smaller logical block size on a device with a larger logical block
8d3c7b35cSHeinz Mauelshagensize.  Its main purpose is to provide emulation of 512 byte sectors on
9d3c7b35cSHeinz Mauelshagendevices that do not provide this emulation (i.e. 4K native disks).
10d3c7b35cSHeinz Mauelshagen
11d3c7b35cSHeinz MauelshagenSupported emulated logical block sizes 512, 1024, 2048 and 4096.
12d3c7b35cSHeinz Mauelshagen
13d3c7b35cSHeinz MauelshagenUnderlying block size can be set to > 4K to test buffering larger units.
14d3c7b35cSHeinz Mauelshagen
15d3c7b35cSHeinz Mauelshagen
16d3c7b35cSHeinz MauelshagenTable parameters
17d3c7b35cSHeinz Mauelshagen----------------
18d3c7b35cSHeinz Mauelshagen  <dev path> <offset> <emulated sectors> [<underlying sectors>]
19d3c7b35cSHeinz Mauelshagen
20d3c7b35cSHeinz MauelshagenMandatory parameters:
21d3c7b35cSHeinz Mauelshagen
22d3c7b35cSHeinz Mauelshagen    <dev path>:
23d3c7b35cSHeinz Mauelshagen        Full pathname to the underlying block-device,
24d3c7b35cSHeinz Mauelshagen        or a "major:minor" device-number.
25d3c7b35cSHeinz Mauelshagen    <offset>:
26d3c7b35cSHeinz Mauelshagen        Starting sector within the device;
27d3c7b35cSHeinz Mauelshagen        has to be a multiple of <emulated sectors>.
28d3c7b35cSHeinz Mauelshagen    <emulated sectors>:
29d3c7b35cSHeinz Mauelshagen        Number of sectors defining the logical block size to be emulated;
30d3c7b35cSHeinz Mauelshagen        1, 2, 4, 8 sectors of 512 bytes supported.
31d3c7b35cSHeinz Mauelshagen
32d3c7b35cSHeinz MauelshagenOptional parameter:
33d3c7b35cSHeinz Mauelshagen
34*dbeb56feSRandy Dunlap    <underlying sectors>:
35d3c7b35cSHeinz Mauelshagen        Number of sectors defining the logical block size of <dev path>.
36d3c7b35cSHeinz Mauelshagen        2^N supported, e.g. 8 = emulate 8 sectors of 512 bytes = 4KiB.
37d3c7b35cSHeinz Mauelshagen        If not provided, the logical block size of <dev path> will be used.
38d3c7b35cSHeinz Mauelshagen
39d3c7b35cSHeinz Mauelshagen
40d3c7b35cSHeinz MauelshagenExamples:
41d3c7b35cSHeinz Mauelshagen
42d3c7b35cSHeinz MauelshagenEmulate 1 sector = 512 bytes logical block size on /dev/sda starting at
43d3c7b35cSHeinz Mauelshagenoffset 1024 sectors with underlying devices block size automatically set:
44d3c7b35cSHeinz Mauelshagen
45d3c7b35cSHeinz Mauelshagenebs /dev/sda 1024 1
46d3c7b35cSHeinz Mauelshagen
47d3c7b35cSHeinz MauelshagenEmulate 2 sector = 1KiB logical block size on /dev/sda starting at
48d3c7b35cSHeinz Mauelshagenoffset 128 sectors, enforce 2KiB underlying device block size.
49d3c7b35cSHeinz MauelshagenThis presumes 2KiB logical blocksize on /dev/sda or less to work:
50d3c7b35cSHeinz Mauelshagen
51d3c7b35cSHeinz Mauelshagenebs /dev/sda 128 2 4
52