• Mikulas Patocka's avatar
    dm integrity: add a bitmap mode · 468dfca3
    Mikulas Patocka authored
    Introduce an alternate mode of operation where dm-integrity uses a
    bitmap instead of a journal. If a bit in the bitmap is 1, the
    corresponding region's data and integrity tags are not synchronized - if
    the machine crashes, the unsynchronized regions will be recalculated.
    The bitmap mode is faster than the journal mode, because we don't have
    to write the data twice, but it is also less reliable, because if data
    corruption happens when the machine crashes, it may not be detected.
    
    Benchmark results for an SSD connected to a SATA300 port, when doing
    large linear writes with dd:
    
    buffered I/O:
            raw device throughput - 245MB/s
            dm-integrity with journaling - 120MB/s
            dm-integrity with bitmap - 238MB/s
    
    direct I/O with 1MB block size:
            raw device throughput - 248MB/s
            dm-integrity with journaling - 123MB/s
            dm-integrity with bitmap - 223MB/s
    
    For more info see dm-integrity in Documentation/device-mapper/
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    468dfca3
dm-integrity.c 118 KB