dm vdo: add hash locks and hash zones
authorMatthew Sakai <msakai@redhat.com>
Fri, 17 Nov 2023 01:11:44 +0000 (20:11 -0500)
committerMike Snitzer <snitzer@kernel.org>
Tue, 20 Feb 2024 18:43:14 +0000 (13:43 -0500)
commitcfaf07fae7a262865a67b6010eef3bc0a1ae50b2
tree6a24888028f3630c881f8f4952dbb0da5ad0e951
parentc65bfacedc3e9d394c06dacd7b9c70e6bdf41702
dm vdo: add hash locks and hash zones

In order to deduplicate concurrent writes of the same data (to different
locations), data_vios which are writing the same data are grouped together
in a "hash lock," named for and keyed by the hash of the data being
written. Each hash lock is assigned to a hash zone based on a portion of
its hash.

Co-developed-by: J. corwin Coburn <corwin@hurlbutnet.net>
Signed-off-by: J. corwin Coburn <corwin@hurlbutnet.net>
Co-developed-by: Michael Sclafani <dm-devel@lists.linux.dev>
Signed-off-by: Michael Sclafani <dm-devel@lists.linux.dev>
Co-developed-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
Signed-off-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
Signed-off-by: Matthew Sakai <msakai@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-vdo/dedupe.c [new file with mode: 0644]
drivers/md/dm-vdo/dedupe.h [new file with mode: 0644]