Commit 56b67a4f authored by Mikulas Patocka's avatar Mikulas Patocka Committed by Mike Snitzer

dm integrity: various small changes and cleanups

Some coding style changes.

Fix a bug that the array test_tag has insufficient size if the digest
size of internal has is bigger than the tag size.

The function __fls is undefined for zero argument, this patch fixes
undefined behavior if the user sets zero interleave_sectors.

Fix the limit of optional arguments to 8.

Don't allocate crypt_data on the stack to avoid a BUG with debug kernel.

Rename all optional argument names to have underscores rather than
dashes.
Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
parent e2460f2a
...@@ -69,17 +69,17 @@ Target arguments: ...@@ -69,17 +69,17 @@ Target arguments:
Additional arguments: Additional arguments:
journal-sectors:number journal_sectors:number
The size of journal, this argument is used only if formatting the The size of journal, this argument is used only if formatting the
device. If the device is already formatted, the value from the device. If the device is already formatted, the value from the
superblock is used. superblock is used.
interleave-sectors:number interleave_sectors:number
The number of interleaved sectors. This values is rounded down to The number of interleaved sectors. This values is rounded down to
a power of two. If the device is already formatted, the value from a power of two. If the device is already formatted, the value from
the superblock is used. the superblock is used.
buffer-sectors:number buffer_sectors:number
The number of sectors in one buffer. The value is rounded down to The number of sectors in one buffer. The value is rounded down to
a power of two. a power of two.
...@@ -87,17 +87,17 @@ buffer-sectors:number ...@@ -87,17 +87,17 @@ buffer-sectors:number
configurable. The large buffer size means that the I/O size will configurable. The large buffer size means that the I/O size will
be larger, but there could be less I/Os issued. be larger, but there could be less I/Os issued.
journal-watermark:number journal_watermark:number
The journal watermark in percents. When the size of the journal The journal watermark in percents. When the size of the journal
exceeds this watermark, the thread that flushes the journal will exceeds this watermark, the thread that flushes the journal will
be started. be started.
commit-time:number commit_time:number
Commit time in milliseconds. When this time passes, the journal is Commit time in milliseconds. When this time passes, the journal is
written. The journal is also written immediatelly if the FLUSH written. The journal is also written immediatelly if the FLUSH
request is received. request is received.
internal-hash:algorithm(:key) (the key is optional) internal_hash:algorithm(:key) (the key is optional)
Use internal hash or crc. Use internal hash or crc.
When this argument is used, the dm-integrity target won't accept When this argument is used, the dm-integrity target won't accept
integrity tags from the upper target, but it will automatically integrity tags from the upper target, but it will automatically
...@@ -113,7 +113,7 @@ internal-hash:algorithm(:key) (the key is optional) ...@@ -113,7 +113,7 @@ internal-hash:algorithm(:key) (the key is optional)
from an upper layer target, such as dm-crypt. The upper layer from an upper layer target, such as dm-crypt. The upper layer
target should check the validity of the integrity tags. target should check the validity of the integrity tags.
journal-crypt:algorithm(:key) (the key is optional) journal_crypt:algorithm(:key) (the key is optional)
Encrypt the journal using given algorithm to make sure that the Encrypt the journal using given algorithm to make sure that the
attacker can't read the journal. You can use a block cipher here attacker can't read the journal. You can use a block cipher here
(such as "cbc(aes)") or a stream cipher (for example "chacha20", (such as "cbc(aes)") or a stream cipher (for example "chacha20",
...@@ -125,7 +125,7 @@ journal-crypt:algorithm(:key) (the key is optional) ...@@ -125,7 +125,7 @@ journal-crypt:algorithm(:key) (the key is optional)
the size of files that were written. To protect against this the size of files that were written. To protect against this
situation, you can encrypt the journal. situation, you can encrypt the journal.
journal-mac:algorithm(:key) (the key is optional) journal_mac:algorithm(:key) (the key is optional)
Protect sector numbers in the journal from accidental or malicious Protect sector numbers in the journal from accidental or malicious
modification. To protect against accidental modification, use a modification. To protect against accidental modification, use a
crc algorithm, to protect against malicious modification, use a crc algorithm, to protect against malicious modification, use a
...@@ -137,7 +137,7 @@ journal-mac:algorithm(:key) (the key is optional) ...@@ -137,7 +137,7 @@ journal-mac:algorithm(:key) (the key is optional)
this stage. this stage.
The journal mode (D/J), buffer-sectors, journal-watermark, commit-time can The journal mode (D/J), buffer_sectors, journal_watermark, commit_time can
be changed when reloading the target (load an inactive table and swap the be changed when reloading the target (load an inactive table and swap the
tables with suspend and resume). The other arguments should not be changed tables with suspend and resume). The other arguments should not be changed
when reloading the target because the layout of disk data depend on them when reloading the target because the layout of disk data depend on them
...@@ -158,7 +158,7 @@ The layout of the formatted block device: ...@@ -158,7 +158,7 @@ The layout of the formatted block device:
provides (i.e. the size of the device minus the size of all provides (i.e. the size of the device minus the size of all
metadata and padding). The user of this target should not send metadata and padding). The user of this target should not send
bios that access data beyond the "provided data sectors" limit. bios that access data beyond the "provided data sectors" limit.
* flags - a flag is set if journal-mac is used * flags - a flag is set if journal_mac is used
* journal * journal
The journal is divided into sections, each section contains: The journal is divided into sections, each section contains:
* metadata area (4kiB), it contains journal entries * metadata area (4kiB), it contains journal entries
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment