From e7a250a4d9a10be2f9a92dc9acaf7f2be1b32bb1 Mon Sep 17 00:00:00 2001 From: zhuruigan Date: Tue, 30 Jan 2024 14:29:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dtar=E5=8C=85=E4=B8=AD?= =?UTF-8?q?=E5=8F=AA=E5=8C=85=E5=90=AB=E5=BE=88=E5=B0=8F=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E6=89=93=E5=8C=85=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhuruigan --- frameworks/native/backup_ext/src/tar_file.cpp | 17 ++++++++++------- utils/src/b_filesystem/b_dir.cpp | 5 +---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frameworks/native/backup_ext/src/tar_file.cpp b/frameworks/native/backup_ext/src/tar_file.cpp index 80de4451c..99adcf762 100644 --- a/frameworks/native/backup_ext/src/tar_file.cpp +++ b/frameworks/native/backup_ext/src/tar_file.cpp @@ -302,26 +302,29 @@ bool TarFile::CompleteBlock(off_t size) bool TarFile::FillSplitTailBlocks() { + // write tar file tail + const int END_BLOCK_SIZE = 1024; + vector buff {}; + buff.resize(BLOCK_SIZE); + WriteAll(buff, END_BLOCK_SIZE); + fflush(currentTarFile_); + struct stat staTar {}; int ret = stat(currentTarName_.c_str(), &staTar); if (ret != 0) { HILOGE("Failed to stat file %{public}s, err = %{public}d", currentTarName_.c_str(), errno); return false; } - if (staTar.st_size == 0 && tarFileCount_ > 0 && currentTarFile_ != nullptr) { + + if (staTar.st_size == 0 && tarFileCount_ > 0 && fileCount_ == 0) { fclose(currentTarFile_); currentTarFile_ = nullptr; remove(currentTarName_.c_str()); return true; } - // write tar file tail - const int END_BLOCK_SIZE = 1024; - vector buff {}; - buff.resize(BLOCK_SIZE); - WriteAll(buff, END_BLOCK_SIZE); + tarMap_.emplace(tarFileName_, make_tuple(currentTarName_, staTar, false)); - fflush(currentTarFile_); fclose(currentTarFile_); currentTarFile_ = nullptr; tarFileCount_++; diff --git a/utils/src/b_filesystem/b_dir.cpp b/utils/src/b_filesystem/b_dir.cpp index c8bee3f25..01952a48a 100644 --- a/utils/src/b_filesystem/b_dir.cpp +++ b/utils/src/b_filesystem/b_dir.cpp @@ -118,11 +118,10 @@ static tuple, vector> GetDirFilesDetai continue; } if (sta.st_size <= size) { - HILOGI("Find small file %{public}s", fileName.data()); smallFiles.emplace_back(fileName); continue; } - HILOGI("Find big file"); + files.try_emplace(fileName, sta); } } @@ -225,7 +224,6 @@ tuple, vector> BDir::GetBigFiles(const vector resSmallFiles; for (const auto &item : incSmallFiles) { if (!isMatch(excludes, item)) { - HILOGI("smallfile %{public}s matchs include condition and unmatchs exclude condition", item.c_str()); resSmallFiles.emplace_back(item); } } @@ -233,7 +231,6 @@ tuple, vector> BDir::GetBigFiles(const map bigFiles; for (const auto &item : incFiles) { if (!isMatch(excludes, item.first)) { - HILOGI("file %{public}s matchs include condition and unmatchs exclude condition", item.first.c_str()); bigFiles[item.first] = item.second; } } -- Gitee