{
    "mode": "man",
    "parameter": "integritytab",
    "section": "5",
    "url": "https://www.chedong.com/phpMan.php/man/integritytab/5/json",
    "generated": "2026-09-10T12:34:41Z",
    "synopsis": "/etc/integritytab",
    "sections": {
        "NAME": {
            "content": "integritytab - Configuration for integrity block devices\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "/etc/integritytab\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The /etc/integritytab file describes integrity protected block devices that are set up during\nsystem boot.\n\nEmpty lines and lines starting with the \"#\" character are ignored. Each of the remaining\nlines describes one verity integrity protected block device. Fields are delimited by white\nspace.\n\nEach line is in the form\n\nvolume-name block-device\n[keyfile|-] [options|-]\n\nThe first two fields are mandatory, the remaining two are optional and only required if user\nspecified non-default options during integrity format.\n\nThe first field contains the name of the resulting integrity volume; its block device is set\nup below /dev/mapper/.\n\nThe second field contains a path to the underlying block device, or a specification of a\nblock device via \"UUID=\" followed by the UUID, \"PARTUUID=\" followed by the partition UUID,\n\"LABEL=\" followed by the label, \"PARTLABEL=\" followed by the partition label.\n\nThe third field if present contains an absolute filename path to a key file or a \"-\" to\nspecify none. When the filename is present, the \"integrity-algorithm\" defaults to\n\"hmac-sha256\" with the key length derived from the number of bytes in the key file. At this\ntime the only supported integrity algorithm when using key file is hmac-sha256. The maximum\nsize of the key file is 4096 bytes.\n\nThe fourth field, if present, is a comma-delimited list of options or a \"-\" to specify none.\nThe following options are recognized:\n",
            "subsections": [
                {
                    "name": "allow-discards",
                    "content": "Allow the use of discard (TRIM) requests for the device. This option is available since\nthe Linux kernel version 5.7.\n\nAdded in version 250.\n"
                },
                {
                    "name": "mode=(journal|bitmap|direct)",
                    "content": "Enable journaled, bitmapped or direct (passthrough) mode. Journaled mode is the default\nwhen this option is not specified. It provides safety against crashes, but can be slow\nbecause all data has to be written twice. Bitmap mode is more efficient since it requires\nonly a single write, but it is less reliable because if data corruption happens when the\nmachine crashes, it may not be detected. Direct mode disables the journal and the bitmap.\nCorresponds to the \"direct writes\" mode documented in \u001b[34mthe dm-integrity documentation[1].\nNote that without a journal, if there is a crash, it is possible that the integrity tags\nand data will not match. If used, the journal-* options below will have no effect if\npassed.\n\nAdded in version 254.\n"
                },
                {
                    "name": "journal-watermark=[0..100]%",
                    "content": "Journal watermark in percent. When the journal percentage exceeds this watermark, the\njournal flush will be started. Setting a value of \"0%\" uses default value.\n\nAdded in version 250.\n"
                },
                {
                    "name": "journal-commit-time=[0..N]",
                    "content": "Commit time in milliseconds. When this time passes (and no explicit flush operation was\nissued), the journal is written. Setting a value of zero uses default value.\n\nAdded in version 250.\n"
                },
                {
                    "name": "data-device=/dev/disk/by-...",
                    "content": "Specify a separate block device that contains existing data. The second field specified\nin the integritytab for block device then will contain calculated integrity tags and\njournal for data-device, but not the end user data.\n\nAdded in version 250.\n"
                },
                {
                    "name": "integrity-algorithm=[crc32c|crc32|sha1|sha256|hmac-sha256]",
                    "content": "The algorithm used for integrity checking. The default is crc32c. Must match option used\nduring format.\n\nAdded in version 250.\n\nAt early boot and when the system manager configuration is reloaded, this file is translated\ninto native systemd units by systemd-integritysetup-generator(8).\n"
                }
            ]
        },
        "EXAMPLES": {
            "content": "",
            "subsections": [
                {
                    "name": "Example 1. /etc/integritytab",
                    "content": "Set up two integrity protected block devices.\n\nhome PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 - journal-commit-time=10,allow-discards,journal-watermark=55%\ndata PARTUUID=5d4b1808-be76-774d-88af-03c4c3a41761 - allow-discards\n"
                },
                {
                    "name": "Example 2. /etc/integritytab",
                    "content": "Set up 1 integrity protected block device using defaults\n\nhome PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8\n"
                },
                {
                    "name": "Example 3. /etc/integritytab",
                    "content": "Set up 1 integrity device using existing data block device which contains user data\n\nhome PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 - data-device=/dev/disk/by-uuid/9276d9c0-d4e3-4297-b4ff-3307cd0d092f\n"
                },
                {
                    "name": "Example 4. /etc/integritytab",
                    "content": "Set up 1 integrity device using a HMAC key file using defaults\n\nhome PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 /etc/hmac.key\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "systemd(1), systemd-integritysetup@.service(8), systemd-integritysetup-generator(8),\nintegritysetup(8),\n",
            "subsections": []
        },
        "NOTES": {
            "content": "1. the dm-integrity documentation\nhttps://docs.kernel.org/admin-guide/device-mapper/dm-integrity.html\n\nsystemd 255                                                                          INTEGRITYTAB(5)",
            "subsections": []
        }
    },
    "summary": "integritytab - Configuration for integrity block devices",
    "flags": [],
    "examples": [
        "Set up two integrity protected block devices.",
        "home PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 - journal-commit-time=10,allow-discards,journal-watermark=55%",
        "data PARTUUID=5d4b1808-be76-774d-88af-03c4c3a41761 - allow-discards",
        "Set up 1 integrity protected block device using defaults",
        "home PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8",
        "Set up 1 integrity device using existing data block device which contains user data",
        "home PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 - data-device=/dev/disk/by-uuid/9276d9c0-d4e3-4297-b4ff-3307cd0d092f",
        "Set up 1 integrity device using a HMAC key file using defaults",
        "home PARTUUID=4973d0b8-1b15-c449-96ec-94bab7f6a7b8 /etc/hmac.key"
    ],
    "see_also": [
        {
            "name": "systemd",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/systemd/1/json"
        },
        {
            "name": ".service",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/.service/8/json"
        },
        {
            "name": "systemd-integritysetup-generator",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/systemd-integritysetup-generator/8/json"
        },
        {
            "name": "integritysetup",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/integritysetup/8/json"
        }
    ]
}