From 43d38ca536ba9cf799cf2e473f9347964c7a9d51 Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Fri, 22 Nov 2024 23:26:37 -0500 Subject: [PATCH] extent scan: don't serialize dedupe and LOGICAL_INO when using extent scan mode The serialization doesn't seem to be necessary for the extent scan mode. No infinite loops in the kernel have been observed in the past two years, despite never having used MultiLock for the extent scanner. Leave the serialization for now on the subvol scanners. Signed-off-by: Zygo Blaxell --- src/bees.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/bees.cc b/src/bees.cc index 33e945a..1029cd4 100644 --- a/src/bees.cc +++ b/src/bees.cc @@ -797,6 +797,13 @@ bees_main(int argc, char *argv[]) // Set root scan mode bc->roots()->set_scan_mode(root_scan_mode); + if (root_scan_mode == BeesRoots::SCAN_MODE_EXTENT) { + MultiLocker::enable_locking(false); + } else { + // Workaround for a kernel bug that the subvol-based crawlers keep triggering + MultiLocker::enable_locking(true); + } + // Start crawlers bc->start();