!7237 fsync所有类型文件

Merge pull request !7237 from Zhou Shihui/fsync
This commit is contained in:
openharmony_ci 2024-11-18 02:35:00 +00:00 committed by Gitee
commit 726b1ccf3d
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 11 additions and 14 deletions

View File

@ -330,7 +330,7 @@ private:
static EnforceMetadataProcessForApp enforceMetadataProcessForApp_;
static bool OpenEncryptionHandle();
#endif
static void FsyncResFile(const std::string &path, const ExtractFileType &extractFileType);
static void FsyncFile(const std::string &path);
static std::string GetSameLevelTmpPath(const std::string &path);
};
} // namespace AppExecFwk

View File

@ -104,7 +104,6 @@ bool BaseExtractor::ExtractFile(const std::string &fileName, const std::string &
}
return false;
}
fileStream.flush();
fileStream.clear();
fileStream.close();
return true;

View File

@ -617,23 +617,21 @@ void InstalldOperator::ExtractTargetFile(const BundleExtractor &extractor, const
LOG_E(BMS_TAG_INSTALLD, "ChangeModeFile %{public}s failed, errno: %{public}d", path.c_str(), errno);
return;
}
FsyncResFile(path, extractFileType);
FsyncFile(path);
LOG_D(BMS_TAG_INSTALLD, "extract file success, path : %{public}s", path.c_str());
}
void InstalldOperator::FsyncResFile(const std::string &path, const ExtractFileType &extractFileType)
void InstalldOperator::FsyncFile(const std::string &path)
{
if (extractFileType == ExtractFileType::RES_FILE) {
int32_t fileFd = open(path.c_str(), O_RDONLY);
if (fileFd < 0) {
LOG_E(BMS_TAG_INSTALLER, "open %{public}s failed", path.c_str());
return;
}
if (fsync(fileFd) != 0) {
LOG_E(BMS_TAG_INSTALLER, "fsync %{public}s failed", path.c_str());
}
close(fileFd);
int32_t fileFd = open(path.c_str(), O_RDONLY);
if (fileFd < 0) {
LOG_E(BMS_TAG_INSTALLER, "open %{public}s failed %{public}d", path.c_str(), errno);
return;
}
if (fsync(fileFd) != 0) {
LOG_E(BMS_TAG_INSTALLER, "fsync %{public}s failed %{public}d", path.c_str(), errno);
}
close(fileFd);
}
bool InstalldOperator::DeterminePrefix(const ExtractFileType &extractFileType, const std::string &cpuAbi,