diff --git a/src/bees-resolve.cc b/src/bees-resolve.cc index b5dd03d..c7fff96 100644 --- a/src/bees-resolve.cc +++ b/src/bees-resolve.cc @@ -196,7 +196,7 @@ BeesResolver::chase_extent_ref(const BtrfsInodeOffsetRoot &bior, BeesBlockData & Fd file_fd = m_ctx->roots()->open_root_ino(bior.m_root, bior.m_inum); if (!file_fd) { - // Delete snapshots generate craptons of these + // Deleted snapshots generate craptons of these // BEESINFO("No FD in chase_extent_ref " << bior); BEESCOUNT(chase_no_fd); return BeesFileRange(); diff --git a/src/bees.cc b/src/bees.cc index 206119e..dafdddc 100644 --- a/src/bees.cc +++ b/src/bees.cc @@ -499,8 +499,13 @@ BeesTempFile::make_copy(const BeesFileRange &src) THROW_CHECK1(invalid_argument, src, src.size() > 0); - // FIXME: don't know where these come from, but we can't handle them. - // Grab a trace for the log. + // FIEMAP used to give us garbage data, e.g. distinct adjacent + // extents merged into a single entry in the FIEMAP output. + // FIEMAP didn't stop giving us garbage data, we just stopped + // using FIEMAP. + // We shouldn't get absurdly large extents any more; however, + // it's still a problem if we do, so bail out and leave a trace + // in the log. THROW_CHECK1(invalid_argument, src, src.size() < BLOCK_SIZE_MAX_TEMP_FILE); realign();