dm vdo: implement top-level deduplication index
authorMatthew Sakai <msakai@redhat.com>
Fri, 17 Nov 2023 00:56:07 +0000 (19:56 -0500)
committerMike Snitzer <snitzer@kernel.org>
Tue, 20 Feb 2024 18:43:14 +0000 (13:43 -0500)
commit766130e8a9f358652a43dd7ab3edfc6fca5b9b73
tree3cdffa06ab067345113a27f1af7ca93c377938cb
parent4e7ff03922cba20997680dbe78531997760d6117
dm vdo: implement top-level deduplication index

The top-level deduplication index brings all the earlier components
together. The top-level index creates the separate zone structures that
enable the index to handle several requests in parallel, handles
dispatching requests to the right zones and components, and coordinates
metadata to ensure that it remain consistent. It also coordinates recovery
in the event of an unexpected index failure.

If sparse caching is enabled, the top-level index also handles the
coordination required by the sparse chapter index cache, which (unlike most
index structures) is shared among all zones.

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: Thomas Jaskiewicz <tom@jaskiewicz.us>
Signed-off-by: Thomas Jaskiewicz <tom@jaskiewicz.us>
Co-developed-by: Bruce Johnston <bjohnsto@redhat.com>
Signed-off-by: Bruce Johnston <bjohnsto@redhat.com>
Signed-off-by: Matthew Sakai <msakai@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-vdo/index.c [new file with mode: 0644]
drivers/md/dm-vdo/index.h [new file with mode: 0644]
drivers/md/dm-vdo/sparse-cache.c [new file with mode: 0644]
drivers/md/dm-vdo/sparse-cache.h [new file with mode: 0644]