diff --git a/frameworks/native/backup_ext/src/ext_backup.cpp b/frameworks/native/backup_ext/src/ext_backup.cpp index 2bef6b2d358630a253c3e71b06d3fca1c9074649..53da3a7ea9b9c2cf6393b9cd3208f7897e3627ef 100644 --- a/frameworks/native/backup_ext/src/ext_backup.cpp +++ b/frameworks/native/backup_ext/src/ext_backup.cpp @@ -105,6 +105,11 @@ string ExtBackup::GetUsrConfig() const if (!client.GetProfileFromAbility(info, "ohos.extension.backup", config)) { throw BError(BError::Codes::EXT_INVAL_ARG, "Failed to invoke the GetProfileFromAbility method."); } + if (config.empty()) { + HILOGE("GetUsrConfig empty."); + } else { + HILOGI("GetUsrConfig:%{public}s", config[0].c_str()); + } return config.empty() ? "" : config[0]; } diff --git a/services/backup_sa/src/module_ipc/sa_backup_connection.cpp b/services/backup_sa/src/module_ipc/sa_backup_connection.cpp index 3f4c84960b750d3a08bd2ffe871ea62a2612f2f8..7039c33f3fea43ef9490fc99eb5c1ac95232ef22 100644 --- a/services/backup_sa/src/module_ipc/sa_backup_connection.cpp +++ b/services/backup_sa/src/module_ipc/sa_backup_connection.cpp @@ -132,7 +132,6 @@ ErrCode SABackupConnection::LoadBackupSAExtInner() return LoadBackupSAExt(); } isConnected_.store(true); - callConnected_(move(bundleName_)); return LoadBackupSAExt(); } diff --git a/services/backup_sa/src/module_ipc/service.cpp b/services/backup_sa/src/module_ipc/service.cpp index 49d4f1bb846ffd05d38e3a74457237f51d61ee70..a3e473796fc6a8eb285ee477985951c886d6b528 100644 --- a/services/backup_sa/src/module_ipc/service.cpp +++ b/services/backup_sa/src/module_ipc/service.cpp @@ -1139,6 +1139,11 @@ void Service::ClearSessionAndSchedInfo(const string &bundleName) sched_->RemoveExtConn(bundleName); HandleRestoreDepsBundle(bundleName); DelClearBundleRecord({bundleName}); + if (isCleanService_.load() && session_->IsOnAllBundlesFinished()) { + isCleanService_.store(false); + StopAll(nullptr, true); + return; + } sched_->Sched(); } catch (const BError &e) { return; @@ -1444,11 +1449,6 @@ void Service::ClearResidualBundleData(const std::string &bundleName) backUpConnection->DisconnectBackupExtAbility(); } ClearSessionAndSchedInfo(bundleName); - if (isCleanService_.load() && session_->IsOnAllBundlesFinished()) { - isCleanService_.store(false); - StopAll(nullptr, true); - return ; - } // 非清理任务,需要上报 if (session_->GetScenario() != IServiceReverse::Scenario::CLEAN) { OnAllBundlesFinished(BError(BError::Codes::OK)); @@ -1505,7 +1505,7 @@ ErrCode Service::GetBackupInfoCmdHandle(BundleName &bundleName, std::string &res ErrCode Service::GetBackupInfo(BundleName &bundleName, std::string &result) { try { - std::unique_lock lock(getBackupInfoProcLock_); + std::lock_guard lock(getBackupInfoProcLock_); HILOGI("Service::GetBackupInfo begin."); if (session_ == nullptr || isCleanService_.load()) { HILOGE("Get BackupInfo error, session is empty."); @@ -1580,7 +1580,7 @@ ErrCode Service::AppendBundlesClearSession(const std::vector &bundle try { if (bundleNames.empty() || session_ == nullptr) { HILOGE("Init Incremental backup session error, session is empty"); - return BError(BError::Codes::SA_INVAL_ARG); + return EPERM; } session_->IncreaseSessionCnt(__PRETTY_FUNCTION__); // BundleMgrAdapter::GetBundleInfos可能耗时 auto backupInfos = BundleMgrAdapter::GetBundleInfos(bundleNames, session_->GetSessionUserId()); diff --git a/utils/src/b_json/b_json_entity_extension_config.cpp b/utils/src/b_json/b_json_entity_extension_config.cpp index 0d93a72fe89af3ab4d50bb3e2d4cbc5835bdd6ff..915ece4cabfc699b5d3f145ded71782f07d4fdb6 100644 --- a/utils/src/b_json/b_json_entity_extension_config.cpp +++ b/utils/src/b_json/b_json_entity_extension_config.cpp @@ -37,7 +37,7 @@ vector BJsonEntityExtensionConfig::GetIncludes() const return {BConstants::PATHES_TO_BACKUP.begin(), BConstants::PATHES_TO_BACKUP.end()}; } if (!obj_.isMember("includes")) { - HILOGD("'includes' field not found"); + HILOGE("'includes' field not found"); return {BConstants::PATHES_TO_BACKUP.begin(), BConstants::PATHES_TO_BACKUP.end()}; } if (!obj_["includes"].isArray()) {