The comment describes an earlier version which submitted each extent
ref as a separate Task, but now all extent refs are handled by the same
Task to minimize the amount of time between processing the first and
last reference to an extent.
Signed-off-by: Zygo Blaxell <bees@furryterror.org>
BtrfsExtentDataFetcher bedf(m_ctx->root_fd());
- // Collect extent ref tasks as a series of stand-alone events
- // chained after the first task created, then run the first one.
- // This prevents other threads from starting to process an
- // extent until we have all of its refs in the queue.
const auto refs_list = make_shared<list<ExtentRef>>();
for (const auto &i : log_ino.m_iors) {
catch_all([&](){