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