mirror of
https://github.com/Zygo/bees.git
synced 2025-06-16 17:46:16 +02:00
bees: use readahead instead of posix_fadvise
Other btrfs utils use readahead() not posix_fadvise(). There does not appear to be a performance or correctness difference between the three (none, posix_fadvise, or readahead()). Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
@ -386,8 +386,8 @@ BeesRangePair::grow(shared_ptr<BeesContext> ctx, bool constrained)
|
||||
BEESTRACE("e_second " << e_second);
|
||||
|
||||
// Preread entire extent
|
||||
posix_fadvise(second.fd(), e_second.begin(), e_second.size(), POSIX_FADV_WILLNEED);
|
||||
posix_fadvise(first.fd(), e_second.begin() + first.begin() - second.begin(), e_second.size(), POSIX_FADV_WILLNEED);
|
||||
readahead(second.fd(), e_second.begin(), e_second.size());
|
||||
readahead(first.fd(), e_second.begin() + first.begin() - second.begin(), e_second.size());
|
||||
|
||||
auto hash_table = ctx->hash_table();
|
||||
|
||||
@ -406,7 +406,7 @@ BeesRangePair::grow(shared_ptr<BeesContext> ctx, bool constrained)
|
||||
BEESCOUNT(pairbackward_hole);
|
||||
break;
|
||||
}
|
||||
posix_fadvise(second.fd(), e_second.begin(), e_second.size(), POSIX_FADV_WILLNEED);
|
||||
readahead(second.fd(), e_second.begin(), e_second.size());
|
||||
#else
|
||||
// This tends to repeatedly process extents that were recently processed.
|
||||
// We tend to catch duplicate blocks early since we scan them forwards.
|
||||
@ -515,7 +515,7 @@ BeesRangePair::grow(shared_ptr<BeesContext> ctx, bool constrained)
|
||||
BEESCOUNT(pairforward_hole);
|
||||
break;
|
||||
}
|
||||
posix_fadvise(second.fd(), e_second.begin(), e_second.size(), POSIX_FADV_WILLNEED);
|
||||
readahead(second.fd(), e_second.begin(), e_second.size());
|
||||
}
|
||||
BEESCOUNT(pairforward_try);
|
||||
|
||||
|
Reference in New Issue
Block a user