• Mikulas Patocka's avatar
    dm integrity: fix excessive alignment of metadata runs · d537858a
    Mikulas Patocka authored
    Metadata runs are supposed to be aligned on 4k boundary (so that they work
    efficiently with disks with 4k sectors). However, there was a programming
    bug that makes them aligned on 128k boundary instead. The unused space is
    wasted.
    
    Fix this bug by providing a proper 4k alignment. In order to keep
    existing volumes working, we introduce a new flag SB_FLAG_FIXED_PADDING
    - when the flag is clear, we calculate the padding the old way. In order
    to make sure that the old version cannot mount the volume created by the
    new version, we increase superblock version to 4.
    
    Also in order to not break with old integritysetup, we fix alignment
    only if the parameter "fix_padding" is present when formatting the
    device.
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    d537858a
dm-integrity.c 121 KB