Git Product home page Git Product logo

dmdedup4.19's Introduction

dm-dedup

Device-mapper's dedup target provides transparent data deduplication of block devices. Every write coming to a dm-dedup instance is deduplicated against previously written data. For datasets that contain many duplicates scattered across the disk (e.g., virtual machine disk image collections, backups, home directory servers) deduplication provides a significant amount of space savings.

Construction Parameters

<meta_dev> <data_dev> <block_size>
<hash_algo> <backend> <flushrq>

<meta_dev> This is the device where dm-dedup's metadata resides. Metadata typically includes hash index, block mapping, and reference counters. It should be specified as a path, like "/dev/sdaX".

<data_dev> This is the device where the actual data blocks are stored. It should be specified as a path, like "/dev/sdaX".

<block_size> This is the size of a single block on the data device in bytes. Block is both a unit of deduplication and a unit of storage. Supported values are between 4096 to 1048576 (1MB) and should be a power of two.

<hash_algo> This specifies which hashing algorithm dm-dedup will use for detecting identical blocks, e.g., "md5" or "sha256". Any hash algorithm supported by the running kernel can be used (see "/proc/crypto" file).

This is the backend that dm-dedup will use to store metadata. Currently supported values are "cowbtree" and "inram". Cowbtree backend uses persistent Copy-on-Write (COW) B-Trees to store metadata. Inram backend stores all metadata in RAM which is lost after a system reboot. Consequently, inram backend should typically be used only for experiments. Notice, that though inram backend does not use metadata device, parameter should still be specified in the command line. This parameter specifies how many writes to the target should occur before dm-dedup flushes its buffered metadata to the metadata device. In other words, in an event of power failure, one can loose up to this number of most recent writes. Notice, that dm-dedup also flushes its metadata when it sees REQ_FLUSH or REQ_FUA flags in the I/O requests. In particular, these flags are set by file systems in the appropriate points of time to ensure file system consistency.

During construction, dm-dedup checks if the first 4096 bytes of the metadata device are equal to zero. If they are, then a completely new dm-dedup instance is initialized with the metadata and data devices considered "empty". If, however, 4096 starting bytes are not zero, dm-dedup will try to reconstruct the target based on the current information on the metadata and data devices.

Theory of Operation

We provide an overview of dm-dedup design in this section. Detailed design and performance evaluation can be found in the following paper:

V. Tarasov and D. Jain and G. Kuenning and S. Mandal and K. Palanisami and P. Shilane and S. Trehan. Dmdedup: Device Mapper Target for Data Deduplication. Ottawa Linux Symposium, 2014. http://www.fsl.cs.stonybrook.edu/docs/ols-dmdedup/dmdedup-ols14.pdf

To quickly identify duplicates, dm-dedup maintains an index of hashes for all written blocks. Block is a user-configurable unit of deduplication and storage. Dm-dedup index, along with other deduplication metadata, resides on a separate block device, which we refer to as metadata device. Blocks themselves are stored on the data device. Although the metadata device can be any block device, e.g., an HDD or its partition, for higher performance we recommend to use SSD devices to store metadata.

For every block that is written to a target, dm-dedup computes its hash using the <hash_algo>. It then looks for the resulting hash in the hash index. If a match is found then the write is considered to be a duplicate.

Dm-dedup's hash index is essentially a mapping between the hash and the physical address of a block on the data device. In addition, dm-dedup maintains a mapping between logical block addresses on the target and physical block address on the data device (LBN-PBN mapping). When a duplicate is detected, there is no need to write actual data to the disk and only LBN-PBN mapping is updated.

When a non-duplicate data is written, new physical block on the data device is allocated, written, and a corresponding hash is added to the index.

On read, LBN-PBN mapping allows to quickly locate a required block on the data device. If there were no writes to an LBN before, a zero block is returned.

Target Size

When using device-mapper one needs to specify target size in advance. To get deduplication benefits, target size should be larger than the data device size (or otherwise one could just use the data device directly). Because dataset deduplication ratio is not known in advance one has to use an estimation.

Usually, up to 1.5 deduplication ratio for a primary dataset is a safe assumption. For backup datasets, however, deduplication ratio can be as high as 100.

Estimating deduplication ratio of an existing dataset using fs-hasher package from http://tracer.filesystems.org/ can give a good starting point for a specific dataset.

If one over-estimates deduplication ratio, data device can run out of free space. This situation can be monitored using dmsetup status command (described below). After data device is full, dm-dedup will stop accepting writes until free space becomes available on the data device again.

Backends

Dm-dedup's core logic considers index and LBN-PBN mappings as plain key-value stores with an extended API described in

drivers/md/dm-dedup-backend.h

Different backends can provided key-value store API. We implemented a cowbtree backend that uses device-mapper's persistent metadata framework to consistently store metadata. Details on this framework and its on-disk layout can be found here:

Documentation/device-mapper/persistent-data.txt

By using persistent COW B-trees, cowbtree backend guarantees consistency in the event of power failure.

In addition, we also provide inram backend that stores all metadata in RAM. Hash tables with linear probing are used for storing the index and LBN-PBN mapping. Inram backend does not store metadata persistently and should usually by used only for experiments.

Dmsetup Status

Dm-dedup exports various statistics via dmsetup status command. The line returned by dmsetup status will contain the following values in the order:



, , , and are generic fields printed by dmsetup tool for any target.

- total number of blocks on the data device - number of free (unallocated) blocks on the data device - number of used (allocated) blocks on the data device - number of allocated logical blocks (were written at least once) - block size in bytes - data disk's major:minor - metadata disk's major:minor - total number of writes to the target - the number of writes that weren't duplicates (were unique) - the number of writes that were duplicates - the number of times dm-dedup had to read data from the data device because a write was misaligned (read-on-write effect) - the number of writes to a logical block that was written before at least once - the number of writes to a logical address that was not written before even once

To compute deduplication ratio one needs to device dactual by dused.

Example

Decide on metadata and data devices:

META_DEV=/dev/sdX

DATA_DEV=/dev/sdY

Compute target size assuming 1.5 dedup ratio:

DATA_DEV_SIZE=blockdev --getsz $DATA_DEV

TARGET_SIZE=expr $DATA_DEV_SIZE \* 15 / 10

Reset metadata device:

dd if=/dev/zero of=$META_DEV bs=4096 count=1

Setup a target: echo "0 $TARGET_SIZE dedup $META_DEV $DATA_DEV 4096 md5 cowbtree 100" |
dmsetup create mydedup

Authors

dm-dedup was developed in the File system and Storage Lab (FSL) at Stony Brook University Computer Science Department, in collaboration with Harvey Mudd College and EMC.

Key people involved in the project were Vasily Tarasov, Geoff Kuenning, Sonam Mandal, Karthikeyani Palanisami, Philip Shilane, Sagar Trehan, and Erez Zadok.

We also acknowledge the help of several students involved in the deduplication project: Teo Asinari, Deepak Jain, Mandar Joshi, Atul Karmarkar, Meg O'Keefe, Gary Lent, Amar Mudrankit, Ujwala Tulshigiri, and Nabil Zaman.

dmdedup4.19's People

Contributors

nidhipanpalia94 avatar noopurm avatar rahulrane50 avatar vinothkumarraja avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dmdedup4.19's Issues

does not work on loopback devices

exact steps to reproduce:

  1. git clone https://github.com/dmdedup/dmdedup4.19
  2. cd dmdedup4.19
  3. make
  4. cp dm-dedup.ko /lib/modules/4.20.13/kernel/drivers/md (if you have 4.20.13 kernel)
  5. modprobe dm-dedup
  6. dd if=/dev/zero of=/home/dedup.meta count=1000 bs=409600
  7. dd if=/dev/zero of=/home/dedup.data count=1000 bs=40960000
  8. losetup loop8 /home/dedup.meta
  9. losetup loop9 /home/dedup.data
  10. use script:
#!/bin/bash


case $1 in
    start)
        META_DEV=/dev/loop8
        DATA_DEV=/dev/loop9
        DATA_DEV_SIZE=`blockdev --getsz $DATA_DEV`
        TARGET_SIZE=`expr $DATA_DEV_SIZE \* 50 / 10`
        echo "0 $TARGET_SIZE dedup $META_DEV $DATA_DEV 4096 sha256 cowbtree 409600 100" | dmsetup create dedup_test_vol
    ;;
    stop)
        dmsetup remove dedup_test_vol
    ;;
esac

  1. try to create some fs on created block device mkfs.ext4 /dev/mapper/dedup_test_vol
    output:
mke2fs 1.44.5 (15-Dec-2018)
Discarding device blocks: failed - Input/output error
Creating filesystem with 50000000 4k blocks and 12500992 inodes
Filesystem UUID: 7138a8b6-3ae6-4aa2-968a-8c7350573d56
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: mkfs.ext4: Input/output error while writing out and closing file system

dmesg:


[ 1650.219256] Buffer I/O error on dev dm-11, logical block 49999984, async page read
[ 1650.223488] Buffer I/O error on dev dm-11, logical block 0, async page read
[ 1650.226049] Buffer I/O error on dev dm-11, logical block 0, async page read
[ 1650.226074] Buffer I/O error on dev dm-11, logical block 0, async page read
[ 1650.226572] device-mapper: dedup-mod: Discard request received for LBN :0
[ 1650.226703] device-mapper: dedup-mod: Discard request received for LBN :4096
[ 1650.226722] device-mapper: dedup-mod: Discard request received for lbn [4096] whose LBN-PBN entry is not present.
[ 1650.226743] device-mapper: dedup-mod: Discard request received for LBN :528384
[ 1650.226758] device-mapper: dedup-mod: Discard request received for lbn [528384] whose LBN-PBN entry is not present.
[ 1650.226775] device-mapper: dedup-mod: Discard request received for LBN :1052672
[ 1650.226777] device-mapper: dedup-mod: Discard request received for lbn [1052672] whose LBN-PBN entry is not present.
[ 1650.226793] device-mapper: dedup-mod: Discard request received for LBN :1576960
[ 1650.226795] device-mapper: dedup-mod: Discard request received for lbn [1576960] whose LBN-PBN entry is not present.
[ 1650.226810] device-mapper: dedup-mod: Discard request received for LBN :2101248
[ 1650.226831] device-mapper: dedup-mod: Discard request received for lbn [2101248] whose LBN-PBN entry is not present.
[ 1650.226846] device-mapper: dedup-mod: Discard request received for LBN :2625536
[ 1650.226848] device-mapper: dedup-mod: Discard request received for lbn [2625536] whose LBN-PBN entry is not present.
[ 1650.226862] device-mapper: dedup-mod: Discard request received for LBN :3149824
[ 1650.226863] device-mapper: dedup-mod: Discard request received for lbn [3149824] whose LBN-PBN entry is not present.
[ 1650.226879] device-mapper: dedup-mod: Discard request received for LBN :3674112
[ 1650.226880] device-mapper: dedup-mod: Discard request received for lbn [3674112] whose LBN-PBN entry is not present.
[ 1650.226893] device-mapper: dedup-mod: Discard request received for LBN :4198400
[ 1650.226895] device-mapper: dedup-mod: Discard request received for lbn [4198400] whose LBN-PBN entry is not present.
[ 1650.226909] device-mapper: dedup-mod: Discard request received for LBN :4722688
[ 1650.226910] device-mapper: dedup-mod: Discard request received for lbn [4722688] whose LBN-PBN entry is not present.
[ 1650.226923] device-mapper: dedup-mod: Discard request received for LBN :5246976
[ 1650.226924] device-mapper: dedup-mod: Discard request received for lbn [5246976] whose LBN-PBN entry is not present.
[ 1650.226937] device-mapper: dedup-mod: Discard request received for LBN :5771264
[ 1650.226938] device-mapper: dedup-mod: Discard request received for lbn [5771264] whose LBN-PBN entry is not present.
[ 1650.226957] device-mapper: dedup-mod: Discard request received for LBN :6295552
[ 1650.226959] device-mapper: dedup-mod: Discard request received for lbn [6295552] whose LBN-PBN entry is not present.
[ 1650.226977] device-mapper: dedup-mod: Discard request received for LBN :6819840
[ 1650.226979] device-mapper: dedup-mod: Discard request received for lbn [6819840] whose LBN-PBN entry is not present.
[ 1650.226997] device-mapper: dedup-mod: Discard request received for LBN :7344128
[ 1650.226999] device-mapper: dedup-mod: Discard request received for lbn [7344128] whose LBN-PBN entry is not present.
[ 1650.227017] device-mapper: dedup-mod: Discard request received for LBN :7868416
[ 1650.227018] device-mapper: dedup-mod: Discard request received for lbn [7868416] whose LBN-PBN entry is not present.
[ 1650.227032] device-mapper: dedup-mod: Discard request received for LBN :8392704
[ 1650.227033] device-mapper: dedup-mod: Discard request received for lbn [8392704] whose LBN-PBN entry is not present.
[ 1650.227046] device-mapper: dedup-mod: Discard request received for LBN :8916992
[ 1650.227047] device-mapper: dedup-mod: Discard request received for lbn [8916992] whose LBN-PBN entry is not present.
[ 1650.227060] device-mapper: dedup-mod: Discard request received for LBN :9441280
[ 1650.227062] device-mapper: dedup-mod: Discard request received for lbn [9441280] whose LBN-PBN entry is not present.
[ 1650.227076] device-mapper: dedup-mod: Discard request received for LBN :9965568
[ 1650.227077] device-mapper: dedup-mod: Discard request received for lbn [9965568] whose LBN-PBN entry is not present.
[ 1650.227078] attempt to access beyond end of device
[ 1650.227079] loop9: rw=2051, want=83918848, limit=80000000
[ 1650.550122] Buffer I/O error on dev dm-11, logical block 0, lost async page write
[ 1650.550134] Buffer I/O error on dev dm-11, logical block 1, lost async page write
[ 1650.550139] Buffer I/O error on dev dm-11, logical block 2, lost async page write
[ 1650.550143] Buffer I/O error on dev dm-11, logical block 3, lost async page write
[ 1650.550147] Buffer I/O error on dev dm-11, logical block 4, lost async page write
[ 1650.550151] Buffer I/O error on dev dm-11, logical block 5, lost async page write
[ 1655.865304] buffer_io_error: 263318 callbacks suppressed
[ 1655.865307] Buffer I/O error on dev dm-11, logical block 49999984, async page read
[ 1655.870347] Buffer I/O error on dev dm-11, logical block 1, async page read
[ 1655.873362] device-mapper: dedup-mod: Discard request received for LBN :0
[ 1655.873367] device-mapper: dedup-mod: Discard request received for lbn [0] whose LBN-PBN entry is not present.
[ 1655.874238] device-mapper: dedup-mod: Discard request received for LBN :4096
[ 1655.874244] device-mapper: dedup-mod: Discard request received for lbn [4096] whose LBN-PBN entry is not present.
[ 1655.874272] device-mapper: dedup-mod: Discard request received for LBN :528384
[ 1655.874277] device-mapper: dedup-mod: Discard request received for lbn [528384] whose LBN-PBN entry is not present.
[ 1655.874302] device-mapper: dedup-mod: Discard request received for LBN :1052672
[ 1655.874305] device-mapper: dedup-mod: Discard request received for lbn [1052672] whose LBN-PBN entry is not present.
[ 1655.874325] device-mapper: dedup-mod: Discard request received for LBN :1576960
[ 1655.874328] device-mapper: dedup-mod: Discard request received for lbn [1576960] whose LBN-PBN entry is not present.
[ 1655.874349] device-mapper: dedup-mod: Discard request received for LBN :2101248
[ 1655.874353] device-mapper: dedup-mod: Discard request received for lbn [2101248] whose LBN-PBN entry is not present.
[ 1655.874372] device-mapper: dedup-mod: Discard request received for LBN :2625536
[ 1655.874375] device-mapper: dedup-mod: Discard request received for lbn [2625536] whose LBN-PBN entry is not present.
[ 1655.874394] device-mapper: dedup-mod: Discard request received for LBN :3149824
[ 1655.874397] device-mapper: dedup-mod: Discard request received for lbn [3149824] whose LBN-PBN entry is not present.
[ 1655.874416] device-mapper: dedup-mod: Discard request received for LBN :3674112
[ 1655.874419] device-mapper: dedup-mod: Discard request received for lbn [3674112] whose LBN-PBN entry is not present.
[ 1655.874438] device-mapper: dedup-mod: Discard request received for LBN :4198400
[ 1655.874440] device-mapper: dedup-mod: Discard request received for lbn [4198400] whose LBN-PBN entry is not present.
[ 1655.874460] device-mapper: dedup-mod: Discard request received for LBN :4722688
[ 1655.874462] device-mapper: dedup-mod: Discard request received for lbn [4722688] whose LBN-PBN entry is not present.
[ 1655.874481] device-mapper: dedup-mod: Discard request received for LBN :5246976
[ 1655.874484] device-mapper: dedup-mod: Discard request received for lbn [5246976] whose LBN-PBN entry is not present.
[ 1655.874503] device-mapper: dedup-mod: Discard request received for LBN :5771264
[ 1655.874506] device-mapper: dedup-mod: Discard request received for lbn [5771264] whose LBN-PBN entry is not present.
[ 1655.874524] device-mapper: dedup-mod: Discard request received for LBN :6295552
[ 1655.874527] device-mapper: dedup-mod: Discard request received for lbn [6295552] whose LBN-PBN entry is not present.
[ 1655.874545] device-mapper: dedup-mod: Discard request received for LBN :6819840
[ 1655.874548] device-mapper: dedup-mod: Discard request received for lbn [6819840] whose LBN-PBN entry is not present.
[ 1655.874567] device-mapper: dedup-mod: Discard request received for LBN :7344128
[ 1655.874569] device-mapper: dedup-mod: Discard request received for lbn [7344128] whose LBN-PBN entry is not present.
[ 1655.874588] device-mapper: dedup-mod: Discard request received for LBN :7868416
[ 1655.874590] device-mapper: dedup-mod: Discard request received for lbn [7868416] whose LBN-PBN entry is not present.
[ 1655.874608] device-mapper: dedup-mod: Discard request received for LBN :8392704
[ 1655.874612] device-mapper: dedup-mod: Discard request received for lbn [8392704] whose LBN-PBN entry is not present.
[ 1655.874630] device-mapper: dedup-mod: Discard request received for LBN :8916992
[ 1655.874633] device-mapper: dedup-mod: Discard request received for lbn [8916992] whose LBN-PBN entry is not present.
[ 1655.874651] device-mapper: dedup-mod: Discard request received for LBN :9441280
[ 1655.874654] device-mapper: dedup-mod: Discard request received for lbn [9441280] whose LBN-PBN entry is not present.
[ 1655.874672] device-mapper: dedup-mod: Discard request received for LBN :9965568
[ 1655.874675] device-mapper: dedup-mod: Discard request received for lbn [9965568] whose LBN-PBN entry is not present.
[ 1655.874676] attempt to access beyond end of device
[ 1655.874679] loop9: rw=2051, want=83918848, limit=80000000
[ 1656.230205] Buffer I/O error on dev dm-11, logical block 0, lost async page write
[ 1656.230217] Buffer I/O error on dev dm-11, logical block 1, lost async page write
[ 1656.230223] Buffer I/O error on dev dm-11, logical block 2, lost async page write
[ 1656.230227] Buffer I/O error on dev dm-11, logical block 3, lost async page write
[ 1656.230232] Buffer I/O error on dev dm-11, logical block 4, lost async page write
[ 1656.230236] Buffer I/O error on dev dm-11, logical block 5, lost async page write
[ 1656.230239] Buffer I/O error on dev dm-11, logical block 6, lost async page write
[ 1656.230244] Buffer I/O error on dev dm-11, logical block 7, lost async page write

does not work on inram

it raised oops on android and ubuntu about:

<6>[  458.473434] c3   3378 device-mapper: dedup-mod: Initializing INRAM backend
<6>[  458.475337] c3   3378 device-mapper: dedup-mod: Space allocated for pbn reference count map: 10.000000 MB
<6>[  458.475337] c3   3378 
<6>[  458.484417] c3   3378 device-mapper: dedup-mod: Space allocated for sparse key value store: 66.000000 MB
<6>[  458.484417] c3   3378 
<6>[  458.493895] c3   3378 device-mapper: dedup-mod: Space allocated for linear key value store: 30.000008 MB
<6>[  458.493895] c3   3378 
<3>[  458.668330] c0   1358 Buffer I/O error on dev dm-7, logical block 0, lost async page write
<1>[  458.669793] c0   1358 Unable to handle kernel NULL pointer dereference at virtual address 00000000
<1>[  458.669806] c0   1358 pgd = 00000000ce245a86
<1>[  458.669813] c0   1358 [0000000000000000] *pgd=0000000000000000, *pud=0000000000000000
<0>[  458.669827] c0   1358 Internal error: Oops: 96000005 [#1] PREEMPT SMP
<4>[  458.669837] c0   1358 Modules linked in:
<4>[  458.669851] c0   1358 CPU: 0 PID: 1358 Comm: kworker/u16:17 Not tainted 4.9 #1
<4>[  458.669857] c0   1358 Hardware name: Google Inc. MSM sdm845 B1 DVT1.1 (DT)
<4>[  458.669880] c0   1358 Workqueue: dm-dedup do_work
<4>[  458.669888] c0   1358 task: 00000000400b0d00 task.stack: 000000004cf19579
<4>[  458.669900] c0   1358 PC is at clone_endio+0x2c/0xf4
<4>[  458.669913] c0   1358 LR is at bio_endio+0x98/0xb0
<4>[  458.669919] c0   1358 pc : [<ffffff8a9d15f538>] lr : [<ffffff8a9ca25df8>] pstate: 20400145
<4>[  458.669925] c0   1358 sp : fffffffcbb8b2490
<4>[  458.669931] c0   1358 x29: fffffffcbb8b24c0 x28: 0000000000000000 
<4>[  458.669940] c0   1358 x27: 0000000000002328 x26: fffffffcad210000 
<4>[  458.669949] c0   1358 x25: 0000000000000000 x24: 0000000000000001 
<4>[  458.669958] c0   1358 x23: 0000000000001000 x22: fffffffc19e96200 
<4>[  458.669966] c0   1358 x21: fffffffc19e96220 x20: 00000000ffffffde 
<4>[  458.669974] c0   1358 x19: 0000000000000000 x18: fffffffcbb8b2860 
<4>[  458.669983] c0   1358 x17: 0000000000000000 x16: 0000000000000000 
<4>[  458.669991] c0   1358 x15: 00000000001f3d40 x14: 0000000000000016 
<4>[  458.669999] c0   1358 x13: 0000000000001000 x12: 0000000000001000 
<4>[  458.670008] c0   1358 x11: 0000000000000000 x10: 0000000000000001 
<4>[  458.670016] c0   1358 x9 : 0000000000000000 x8 : ffffff8a9d15f50c 
<4>[  458.670025] c0   1358 x7 : 0000000005fc8000 x6 : 0000000000000000 
<4>[  458.670033] c0   1358 x5 : 0000000000000000 x4 : 0000000000000001 
<4>[  458.670041] c0   1358 x3 : 0000000000000000 x2 : 0000000000001000 
<4>[  458.670050] c0   1358 x1 : 0000000000000000 x0 : ffffff80086c9080 
<4>[  458.670060] c0   1358 
<4>[  458.670060] c0   1358 PC: 0xffffff8a9d15f4f8:
<4>[  458.670069] c0   1358 f4f8  910283ff d65f03c0 9415d378 17ffffe1 97d52c15 f800865e f81c0ff7 a90157f6
<4>[  458.670098] c0   1358 f518  a9024ff4 a9037bfd 9100c3fd aa0003f6 f85e0ed3 aa0003f5 f94006c0 b94036d4
<4>[  458.670124] c0   1358 f538  f9400277 f9400408 f9402d08 b4000228 aa1503e1 2a1403e2 d63f0100 2a0003e1
<4>[  458.670149] c0   1358 f558  37f80160 7100083f 54000120 340002a1 7100043f 54000300 f00063e0 911d6800
<4>[  458.670176] c0   1358 
<4>[  458.670176] c0   1358 LR: 0xffffff8a9ca25db8:
<4>[  458.670184] c0   1358 5db8  d5033bbf 350001e9 79403808 12177908 79003808 f9402808 eb13011f 540000e1
<4>[  458.670210] c0   1358 5dd8  f9402c14 b9401688 35fffd28 b9401408 b9001688 17ffffe6 b4000048 d63f0100
<4>[  458.670235] c0   1358 5df8  a9417bfd a8c24ff4 f85f8e5e d65f03c0 d4210000 14000000 f800865e f81d0ff5
<4>[  458.670261] c0   1358 5e18  a9014ff4 a9027bfd 910083fd 7100003f 540007ed b9402808 2a0103f4 aa0003f3
<4>[  458.670288] c0   1358 
<4>[  458.670288] c0   1358 SP: 0xfffffffcbb8b2450:
<4>[  458.670295] c0   1358 2450  9ca25df8 ffffff8a bb8b2490 fffffffc 9d15f538 ffffff8a 20400145 00000000
<4>[  458.670321] c0   1358 2470  bb8b24a0 fffffffc 9ce19c20 ffffff8a ffffffff 0000007f 00000000 00000000
<4>[  458.670348] c0   1358 2490  00001000 00000000 ad21a600 fffffffc 19e96220 fffffffc 00000000 00000000
<4>[  458.670374] c0   1358 24b0  00001000 00000000 9ca2389c ffffff8a bb8b24e0 fffffffc 9ca25df8 ffffff8a
<0>[  458.670403] c0   1358 Process kworker/u16:17 (pid: 1358, stack limit = 0x000000004cf19579)
<4>[  458.670411] c0   1358 Call trace:
<4>[  458.670419] c0   1358 Exception stack(0xfffffffcbb8b2360 to 0xfffffffcbb8b2490)
<4>[  458.670428] c0   1358 2360: ffffff80086c9080 0000000000000000 0000000000001000 0000000000000000
<4>[  458.670436] c0   1358 2380: 0000000000000001 0000000000000000 0000000000000000 0000000005fc8000
<4>[  458.670443] c0   1358 23a0: ffffff8a9d15f50c 0000000000000000 0000000000000001 0000000000000000
<4>[  458.670450] c0   1358 23c0: 0000000000001000 0000000000001000 0000000000000016 00000000001f3d40
<4>[  458.670458] c0   1358 23e0: 0000000000000000 0000000000000000 fffffffcbb8b2860 0000000000000000
<4>[  458.670466] c0   1358 2400: 00000000ffffffde fffffffc19e96220 fffffffc19e96200 0000000000001000
<4>[  458.670473] c0   1358 2420: 0000000000000001 0000000000000000 fffffffcad210000 0000000000002328
<4>[  458.670481] c0   1358 2440: 0000000000000000 fffffffcbb8b24c0 ffffff8a9ca25df8 fffffffcbb8b2490
<4>[  458.670489] c0   1358 2460: ffffff8a9d15f538 0000000020400145 fffffffcbb8b24a0 ffffff8a9ce19c20
<4>[  458.670496] c0   1358 2480: 0000007fffffffff 0000000000000000
<4>[  458.670503] c0   1358 [<000000003d04fd7a>] clone_endio+0x2c/0xf4
<4>[  458.670511] c0   1358 [<00000000646f17a0>] bio_endio+0x98/0xb0
<4>[  458.670521] c0   1358 [<000000005ee5179b>] blk_update_request+0x19c/0x3b0
<4>[  458.670534] c0   1358 [<000000005357c7f3>] scsi_end_request+0x34/0x188
<4>[  458.670542] c0   1358 [<00000000b053b779>] scsi_io_completion+0x2e8/0x678
<4>[  458.670552] c0   1358 [<00000000fbe7bb20>] scsi_finish_command+0xd4/0x10c
<4>[  458.670560] c0   1358 [<00000000f414b2ed>] scsi_softirq_done+0x110/0x14c
<4>[  458.670571] c0   1358 [<000000002a4bf0ca>] blk_done_softirq+0x84/0xbc
<4>[  458.670581] c0   1358 [<00000000804766ae>] __do_softirq+0x1ec/0x3cc
<4>[  458.670592] c0   1358 [<000000006f3264e7>] irq_exit+0xe0/0xf4
<4>[  458.670603] c0   1358 [<00000000b330033a>] __handle_domain_irq+0x88/0xc4
<4>[  458.670610] c0   1358 [<0000000091897a64>] gic_handle_irq+0x16c/0x1cc
<4>[  458.670616] c0   1358 Exception stack(0xffffff8009c27ac0 to 0xffffff8009c27bf0)
<4>[  458.670624] c0   1358 7ac0: ffffff8041336410 ffffff8009c27c70 0000000000000010 fbfbfbfbfbfbfbfb
<4>[  458.670632] c0   1358 7ae0: 7900781f7b81bbfd 00000000519fda4d 06407a80e483fb82 82fb83e4807a4006
<4>[  458.670639] c0   1358 7b00: 0000000000000000 0000000000000000 00045fa978faa604 0000000000000005
<4>[  458.670647] c0   1358 7b20: 0000000000000000 0000000000018938 00000000f7fffaea 0000000014171240
<4>[  458.670655] c0   1358 7b40: 0000000081223cb0 000000003776f391 fffffffcb401fc38 ffffff8009c27c60
<4>[  458.670663] c0   1358 7b60: 0000000000000008 ffffff8009c27c68 0000000000000010 ffffff8041336408
<4>[  458.670671] c0   1358 7b80: 0000000000000018 00000000002c0000 ffffff803fd01000 00000000000dbbfd
<4>[  458.670679] c0   1358 7ba0: 00000000000ece2b ffffff8009c27c40 ffffff8a9d18c324 ffffff8009c27bf0
<4>[  458.670688] c0   1358 7bc0: ffffff8a9ca530cc 0000000060c00145 fffffffc19e96020 ffffff8009c27c68
<4>[  458.670694] c0   1358 7be0: ffffffffffffffff ffffff8a9ca02d4c
<4>[  458.670703] c0   1358 [<00000000aa7b17d9>] el1_irq+0xc4/0x13c
<4>[  458.670714] c0   1358 [<0000000064e22879>] memcmp+0x2c/0x1e0
<4>[  458.670724] c0   1358 [<000000007ce2b201>] handle_write+0x13c/0x204
<4>[  458.670730] c0   1358 [<000000000a1f3ddc>] process_bio+0x50/0x9c
<4>[  458.670737] c0   1358 [<000000008b16c3f5>] do_work+0x3c/0x68
<4>[  458.670747] c0   1358 [<000000001d5a2af5>] process_one_work+0x214/0x4ac
<4>[  458.670754] c0   1358 [<00000000bad45629>] worker_thread+0x348/0x4d0
<4>[  458.670762] c0   1358 [<0000000089d187d0>] kthread+0x118/0x138
<4>[  458.670770] c0   1358 [<00000000db9b5675>] ret_from_fork+0x10/0x30
<0>[  458.670781] c0   1358 Code: f85e0ed3 aa0003f5 f94006c0 b94036d4 (f9400277) 
<4>[  458.670790] c0   1358 ---[ end trace 7ea9e74ddbae9a73 ]---

my configure is:

		META_DEV=/dev/block/sda23
		DATA_DEV=/dev/block/sda22
		DATA_DEV_SIZE=`blockdev --getsz /dev/block/sda22`
		TARGET_SIZE=`expr $DATA_DEV_SIZE \* 15 / 10`
		dd if=/dev/zero of=$META_DEV bs=4096 count=393200
		dmctl create mydedup dedup 0 $TARGET_SIZE $META_DEV $DATA_DEV 4096 md5 inram 100  0
		./mkfs.f2fs   /dev/block/dm-7
		cd /mnt
		mkdir dedup-dir 
		mount -t f2fs /dev/block/dm-7 /mnt/dedup-dir

unexpected collisions (possible wrong options?)

what is done:

  1. cloned git repo
  2. make
  3. cp dm-dedup.ko /lib/modules//kernel/drivers/md/
  4. depmod
  5. modprobe dm-dedup:
    [ 98.373164] dm_dedup: loading out-of-tree module taints kernel.

i did md-device as in example in readme:

META_DEV=/dev/mapper/lvm-lv-with-stripes
DATA_DEV=/dev/mapper/large-lvm-lv-in-linear-mode
DATA_DEV_SIZE=`blockdev --getsz $DATA_DEV`
TARGET_SIZE=`expr $DATA_DEV_SIZE \* 20 / 10`


echo "0 $TARGET_SIZE dedup $META_DEV $DATA_DEV 4096 sha256 cowbtree 4096000 100" | dmsetup create windata_volume
dmsetup message windata_volume 0 corruption 2

writing to device looks successful

every time i try to read from device, i getting this:

[ 1452.561495] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.561545] device-mapper: dedup-mod: Changing linear probing to 1
[ 1452.562125] device-mapper: dedup-mod: Collision detected for key: o\xaf7}m\xfeWϜQi^A/;=\xe1\x9d\xe4\xd3%\xfcD\xb7\\xf1mMq`\xebu\xd4
[ 1452.562320] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.562325] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.562333] device-mapper: dedup-mod: Changing linear probing to 2
[ 1452.562506] device-mapper: dedup-mod: Collision detected for key: )^^\xaa\x87^^\xe0^XVh\xb3\xc1\xca^K,^V\xb6T.\xd9tV|^DD\xa4^?K\xeb^]\x8e\xd2\xf9
[ 1452.563048] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563054] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563062] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563071] device-mapper: dedup-mod: Changing linear probing to 3
[ 1452.563403] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563408] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563412] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563415] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563423] device-mapper: dedup-mod: Changing linear probing to 4
[ 1452.563873] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563879] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563882] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563885] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563889] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.563897] device-mapper: dedup-mod: Changing linear probing to 5
[ 1452.565363] device-mapper: dedup-mod: Collision detected for key: W$\xb9ܹ_\xf1?\xb2\xcb\xea\x82^YTxa5Do\x95\xcbvW\xa1:\xc1\xc1\xfd&^C8!\
[ 1452.565424] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565426] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565428] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565430] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565431] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565433] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565434] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1452.565441] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565442] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565444] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565446] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565453] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565454] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565455] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1452.565597] device-mapper: dedup-mod: Collision detected for key: W$\xb9ܹ_\xf1?\xb2\xcb\xea\x82^YTxa5Do\x95\xcbvW\xa1:\xc1\xc1\xfd&^C8!\
[ 1452.565599] device-mapper: dedup-mod: Collision detected for key: W$\xb9ܹ_\xf1?\xb2\xcb\xea\x82^YTxa5Do\x95\xcbvW\xa1:\xc1\xc1\xfd&^C8!\
[ 1452.565711] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565713] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565715] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565716] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565718] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565719] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1452.565720] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1452.565723] Buffer I/O error on dev dm-11, logical block 5158691836, async page read
[ 1456.073992] br0: port 7(vtap7) entered blocking state
[ 1456.074002] br0: port 7(vtap7) entered listening state
[ 1456.265339] device-mapper: dedup-mod: Collision detected for key: o\xaf7}m\xfeWϜQi^A/;=\xe1\x9d\xe4\xd3%\xfcD\xb7\\xf1mMq`\xebu\xd4
[ 1456.265345] device-mapper: dedup-mod: Collision detected for key: o\xaf7}m\xfeWϜQi^A/;=\xe1\x9d\xe4\xd3%\xfcD\xb7\\xf1mMq`\xebu\xd4
[ 1456.265723] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265726] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265729] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265732] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265735] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265737] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265739] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1456.265751] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265754] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265757] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265759] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265762] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265764] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265766] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1456.265777] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265779] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265782] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265784] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265787] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265789] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1456.265791] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1456.266167] device-mapper: dedup-mod: Collision detected for key: o\xaf7}m\xfeWϜQi^A/;=\xe1\x9d\xe4\xd3%\xfcD\xb7\\xf1mMq`\xebu\xd4
[ 1456.266171] device-mapper: dedup-mod: Collision detected for key: o\xaf7}m\xfeWϜQi^A/;=\xe1\x9d\xe4\xd3%\xfcD\xb7\\xf1mMq`\xebu\xd4
[ 1456.266174] device-mapper: dedup-mod: Collision detected for key: o\xaf7}m\xfeWϜQi^A/;=\xe1\x9d\xe4\xd3%\xfcD\xb7\\xf1mMq`\xebu\xd4
[ 1457.169860] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.169868] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.169872] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.169876] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.169879] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.169883] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.169885] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1457.170019] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170023] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170026] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170029] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170033] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170036] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170037] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1457.170042] Buffer I/O error on dev dm-11, logical block 1, async page read
[ 1457.170255] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170259] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170262] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170265] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170268] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170273] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.170275] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1457.170279] Buffer I/O error on dev dm-11, logical block 1, async page read
[ 1457.179217] br0: port 7(vtap7) entered disabled state
[ 1457.179946] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.179949] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.179951] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.179953] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.179955] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.179957] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.179958] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5
[ 1457.180122] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.180124] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.180126] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.180128] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.180129] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.180131] device-mapper: dedup-mod: Collision detected for key: \xad^?\xac\xb2Xo\xc6\xe9f\xc0^D\xd7\xd1\xd1k^BOX^E\xff|\xb4|z\x85ڽ\x8bH\x89,\xa7
[ 1457.180132] device-mapper: dedup-mod: Linear probing hard limit hit for insert hencechanging current max to hard limit :5

tested also with md5 hash (same problem) and sha512 hash (host hang on write)
first i assumed what it's upstream kernel regression, so i downgraded to 4.19, same problem here.

Upstreaming?

Has there been any further moves to upstream this since the April 2014 RFC on the dm-devel mailing list? If not - why not? (since it seems to be keeping with mainline releases).

Is it being used commercially or is it only for research?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.