[dm-devel] [PATCH] dm integrity: Document size and format of superblock fields

Mikulas Patocka mpatocka at redhat.com
Wed Nov 14 22:39:54 UTC 2018


You can change it - though I expect that anyone who will want to parse the 
superblock will read the file dm-integrity.c anyway.

There's also a new field recalc_sector that says where to resume automatic 
recalculation.

Mikulas


On Fri, 9 Nov 2018, Andy Grover wrote:

> As mentioned elsewhere in dm-integrity.txt, creating a new integrity
> device requires creating a small integrity device on top of the base
> device that formats the base device, reading the provided data sectors
> out of the superblock, and then recreating the integrity device with the
> correct size. For this, userspace must know the offset, length, and
> endianness of the provided_data_sectors field in the superblock.
> 
> Document all fields mentioned in the txt to include this, based on struct
> superblock in dm-integrity.c. Extra fields in struct superblock not
> already mentioned in the txt remain undocumented.
> 
> Signed-off-by: Andy Grover <agrover at redhat.com>
> ---
>  Documentation/device-mapper/dm-integrity.txt | 26 ++++++++++++--------
>  1 file changed, 16 insertions(+), 10 deletions(-)
> 
> diff --git a/Documentation/device-mapper/dm-integrity.txt b/Documentation/device-mapper/dm-integrity.txt
> index 297251b0d2d5..3d28328f16c1 100644
> --- a/Documentation/device-mapper/dm-integrity.txt
> +++ b/Documentation/device-mapper/dm-integrity.txt
> @@ -158,16 +158,22 @@ The layout of the formatted block device:
>    storing LUKS metadata or for other purpose), the size of the reserved
>    area is specified in the target arguments
>  * superblock (4kiB)
> -	* magic string - identifies that the device was formatted
> -	* version
> -	* log2(interleave sectors)
> -	* integrity tag size
> -	* the number of journal sections
> -	* provided data sectors - the number of sectors that this target
> -	  provides (i.e. the size of the device minus the size of all
> -	  metadata and padding). The user of this target should not send
> -	  bios that access data beyond the "provided data sectors" limit.
> -	* flags - a flag is set if journal_mac is used
> +
> +offset and length in bytes. All values little-endian.
> +
> +offset	length	description
> +0	8	magic string - identifies that the device was formatted
> +8	1	version
> +9	1	log2(interleave sectors)
> +10	2	integrity tag size
> +12	4	the number of journal sections
> +16	8	provided data sectors - the number of sectors that this
> +		target provides (i.e. the size of the device minus the size of
> +		all metadata and padding). The user of this target should not
> +		send bios that access data beyond the "provided data sectors"
> +		limit.
> +24	4	flags - a flag is set if journal_mac is used
> +
>  * journal
>  	The journal is divided into sections, each section contains:
>  	* metadata area (4kiB), it contains journal entries
> -- 
> 2.17.2
> 




More information about the dm-devel mailing list