| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【master】【storage】分区需求代码逻辑优化 Co-Authored-By: Agent <noreply@anthropic.com> Signed-off-by: zhangchenyang <zhangchenyang30@h-partners.com> | 1 个月前 | |
!2946 merge feat/taihe-optimize-rom into master feat: 添加编译体积优化选项以减小storage_service ROM占用 Created-by: yang-li86 Commit-by: yang-li86 Merged-by: openharmony_ci Description: ### 相关的Issue #2333 ### 原因(目的、解决的问题等) storage_service 的 storage_manager 和 storage_daemon 主产物仅使用 -O2(性能优化)编译选项,缺少体积优化选项,而 JS/NAPI kits 层库已使用 -Oz、-flto、-ffunction-sections 等体积优化选项。编译优化级别不一致导致 storage_service ROM 占用偏高。 ### 描述(做了什么,变更了什么) 为以下 7 个编译产物添加体积优化 cflags 和 ldflags,统一与 kits 层优化级别: **cflags 变更(所有产物):** - -O2 → -Oz(最大化体积优化) - 新增 -ffunction-sections -fdata-sections(独立分段,配合 gc-sections) - 新增 -fvisibility=hidden(隐藏非导出符号) - 新增 -flto(链接时优化,跨模块消除死代码) - 新增 -fno-unwind-tables(去除展开表,减少5-10%体积) **ldflags 变增:** - storage_manager:新增 -flto -Wl,--gc-sections -Wl,-O1 -Wl,-z,max-page-size=4096 -Wl,-z,separate-code - storage_daemon:新增 -flto(已有其他链接选项) - storage_common_utils / sdc / sa_proxy / acl:新增 -flto -Wl,--gc-sections -Wl,-O1 **修改的文件:** 1. services/storage_manager/BUILD.gn — storage_manager cflags + ldflags 2. services/storage_daemon/BUILD.gn — storage_daemon, sdc, storage_common_utils cflags + ldflags 3. services/storage_daemon/crypto/BUILD.gn — libsdcrypto cflags 4. interfaces/innerkits/storage_manager/native/BUILD.gn — sa_proxy cflags + ldflags 5. interfaces/innerkits/acl/native/BUILD.gn — acl cflags + ldflags ### 验证结果(新增、改动、可能影响的功能) - [x] BUILD.gn 语法正确,cflags/ldflags 位置符合 GN 规范 - [x] 需编译验证:./build.sh --product-name rk3568 --build-target storage_manager --ccache - [x] 需编译验证:./build.sh --product-name rk3568 --build-target storage_daemon --ccache - [x] 需体积对比验证:size out/rk3568/ 对比优化前后 - [x] 需功能验证:运行 storage_daemon_unit_test 和 storage_manager_unit_test - [x] 需板侧验证:SA 注册和 IPC 正常工作 可能影响: - -fno-unwind-tables 影响崩溃日志栈回溯可读性(DFX需评估) - -Oz 比 -O2 可能产生约5-10%性能差异(对存储管理非实时路径影响极小) - -fvisibility=hidden 需确认 SA 注册和 IPC 代理导出正常(IDL框架自动处理) ### 是否已执行mini system用例 [ ] 不涉及。本次仅修改编译选项,不影响功能逻辑,需编译和板侧验证 See merge request: openharmony/filemanagement_storage_service!2946 | 9 小时前 | |
修改测试套名,防止和disk_manager仓编译冲突 Signed-off-by: zhonglufu <zhonglufu@h-partners.com> | 16 天前 | |
fix:code Signed-off-by: 2301_76815458 <zhouaoteng@h-partners.com> | 1 天前 | |
initial storage manager dirs create Signed-off-by:gudehe<gudehe@huawei.com> | 4 年前 | |
存储加固——故障打点补充 Signed-off-by: cuiruibin <cuiruibin3@h-partners.com> | 2 个月前 | |
initial storage manager dirs create Signed-off-by:gudehe<gudehe@huawei.com> | 4 年前 | |
相机加载目录逻辑优化 Signed-off-by: sunxiaoqianghappy <sunxiaoqiang7@h-partners.com> Co-authored-by: Agent | 29 天前 | |
!2963 merge fix/skip-backup-dostoreandupdate into master fix: skip backup during DoStoreAndUpdate RestoreKey flow Created-by: gzhuangzhuang Commit-by: gzhuangzhuang Merged-by: openharmony_ci Description: **Description:** 在DoStoreAndUpdate流程中,RestoreKey调用TryRestoreKey时启动detach线程执行CheckAndFixFiles备份操作。该线程无法正常退出,且后续StoreKey修改elx目录内容,导致备份与实际数据不一致。 修改内容: 1. TryRestoreKey新增needFixFiles参数(默认true),needFixFiles=false时跳过CheckAndFixFiles 2. RestoreKey新增needFixFiles参数(默认true),独立于needSyncCandidate,传递给TryRestoreKey 3. UpdateCeEceSeceUserAuth新增needFixFiles参数(默认true),传递给RestoreKey调用 4. UpdateUserAuthByKeyType(DoStoreAndUpdate流程)传needFixFiles=false跳过备份 备份一致性保证:DoStoreAndUpdate流程中RestoreKey不执行备份,后续UpdateCeEceSeceKeyContext中UpdateKey会基于新密钥状态创建正确备份。 其他流程(UpdateUserAuth、PrepareUserDirsAndUpdateUserAuthOld、TryToFixUserCeEceSeceKey)保持needFixFiles=true默认行为不变。 **Issue number:** https://gitcode.com/openharmony/filemanagement_storage_service/issues/2359 **Test & Result:** 编译验证通过(hb build storage_service -i),16个文件修改无编译错误。 **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:不涉及,本次修改仅新增参数传递,未引入新容器操作</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:不涉及</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:不涉及新增外部调用</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:不涉及</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请,注意每个异常退出流程是否都已经将资源释放</td><td>自检结果:不涉及</td> </tr> <tr> <td>隐式内存分配场景需主动释放或使用智能指针</td><td>自检结果:不涉及</td> </tr> <tr> <td rowspan="2">秘钥相关</td><td>如变量临时保存了口令、秘钥等,需要在使用完成后及时清空(内存memset掉)</td><td>自检结果:不涉及新增秘钥临时保存</td> </tr> </table> See merge request: openharmony/filemanagement_storage_service!2963 | 10 小时前 | |
fix: revert PrepareUserDirsAndUpdateUserAuthOld to original UpdateCeEceSeceUserAuth call Restore the original 4-parameter call without ifdef, keeping the original logic unchanged. Co-Authored-By: Agent <agent@opencode.ai> Signed-off-by: gzhuangzhuang <gengzhuangzhuang@huawei.com> Change-Id: I80bbe987855629b3dd8e213256fa2c746199c591 | 2 天前 | |
add空间统计故障打点接口,方便后续打点调用 Signed-off-by: libo429 <libo429@h-partners.com> | 9 天前 | |
!2963 merge fix/skip-backup-dostoreandupdate into master fix: skip backup during DoStoreAndUpdate RestoreKey flow Created-by: gzhuangzhuang Commit-by: gzhuangzhuang Merged-by: openharmony_ci Description: **Description:** 在DoStoreAndUpdate流程中,RestoreKey调用TryRestoreKey时启动detach线程执行CheckAndFixFiles备份操作。该线程无法正常退出,且后续StoreKey修改elx目录内容,导致备份与实际数据不一致。 修改内容: 1. TryRestoreKey新增needFixFiles参数(默认true),needFixFiles=false时跳过CheckAndFixFiles 2. RestoreKey新增needFixFiles参数(默认true),独立于needSyncCandidate,传递给TryRestoreKey 3. UpdateCeEceSeceUserAuth新增needFixFiles参数(默认true),传递给RestoreKey调用 4. UpdateUserAuthByKeyType(DoStoreAndUpdate流程)传needFixFiles=false跳过备份 备份一致性保证:DoStoreAndUpdate流程中RestoreKey不执行备份,后续UpdateCeEceSeceKeyContext中UpdateKey会基于新密钥状态创建正确备份。 其他流程(UpdateUserAuth、PrepareUserDirsAndUpdateUserAuthOld、TryToFixUserCeEceSeceKey)保持needFixFiles=true默认行为不变。 **Issue number:** https://gitcode.com/openharmony/filemanagement_storage_service/issues/2359 **Test & Result:** 编译验证通过(hb build storage_service -i),16个文件修改无编译错误。 **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:不涉及,本次修改仅新增参数传递,未引入新容器操作</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:不涉及</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:不涉及新增外部调用</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:不涉及</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请,注意每个异常退出流程是否都已经将资源释放</td><td>自检结果:不涉及</td> </tr> <tr> <td>隐式内存分配场景需主动释放或使用智能指针</td><td>自检结果:不涉及</td> </tr> <tr> <td rowspan="2">秘钥相关</td><td>如变量临时保存了口令、秘钥等,需要在使用完成后及时清空(内存memset掉)</td><td>自检结果:不涉及新增秘钥临时保存</td> </tr> </table> See merge request: openharmony/filemanagement_storage_service!2963 | 10 小时前 | |
refactor: update DiskManagerClient callers to use new GetInstance() interface Change all DiskManagerClient singleton calls from DelayedSingleton<T>::GetInstance()->Method() to DiskManagerClient::GetInstance().Method() following the Meyers' singleton refactor in disk_manager repo. Co-Authored-By: Agent Signed-off-by: zhonglufu <zhonglufu@h-partners.com> Change-Id: I4dd49e29c9066ff01e4509fdb7cce9023614a27f | 7 天前 | |
mtp crash修复 Signed-off-by: sunxiaoqianghappy <sunxiaoqiang7@h-partners.com> Co-authored-by: Agent | 1 个月前 | |
refactor: update DiskManagerClient callers to use new GetInstance() interface Change all DiskManagerClient singleton calls from DelayedSingleton<T>::GetInstance()->Method() to DiskManagerClient::GetInstance().Method() following the Meyers' singleton refactor in disk_manager repo. Co-Authored-By: Agent Signed-off-by: zhonglufu <zhonglufu@h-partners.com> Change-Id: I4dd49e29c9066ff01e4509fdb7cce9023614a27f | 7 天前 | |
feat: split HMFS metadata proportionally to freeSize and systemDataSize Previously, HMFS filesystem metadata was entirely added to systemDataSize, causing displayed storage usage to be inaccurate. Now metadata is split proportionally: freeMetadata goes to getFreeSize, usedMetadata goes to getSystemDataSize, making storage display more accurate. - Move metadata calculation from storage_daemon to storage_manager - Add StorageStatusManager::GetMetaDataSize via GetDataSizeByPath IPC - Add StorageTotalStatusService::GetDataTotalSize for data-only total - Add StorageTotalStatusService::GetRawFreeSize for statvfs raw free - Modify GetFreeSize to add freeMetadata with graceful degradation - Modify GetSystemDataSize to add usedMetadata with graceful degradation - Fix bug: GetSystemDataSize uses GetRawFreeSize instead of GetFreeSize to avoid inflating freeMetadata numerator - Add overflow checks in GetMetaDataSize (multiply and add) - Remove redundant systemCacheSize variable in QuotaManager::GetSystemDataSize - Remove unused storage_daemon_communication.h include - Add UT test cases covering all branches with output value assertions - Update mock infrastructure for new methods - UT verified on RK3568 device: 54/54 passed Fixes #2327 Co-Authored-By: Agent Signed-off-by: Dyylll <daiyunlong4@huawei.com> Change-Id: I4c214a1173df6074bd2bf84b587e332c1f6a621b | 10 天前 | |
fix UMountDfsDocs_002 fail Signed-off-by: weizhijun <weizhijun3@h-partners.com> | 24 天前 | |
fix:code Signed-off-by: 2301_76815458 <zhouaoteng@h-partners.com> | 1 天前 | |
光驱刻录功能适配新架构 Signed-off-by: chenyu_code <chenyu454@h-partners.com> | 16 天前 | |
移除storage_daemon及相关编译产物中的-flto和-fvisibility=hidden编译选项 Co-Authored-By: Agent Signed-off-by: yang-li86 <yangli228@h-partners.com> Change-Id: Ida89a094e90d493b6a6948483a494192d3875eb6 | 1 天前 | |
光驱刻录功能适配新架构 Signed-off-by: chenyu_code <chenyu454@h-partners.com> | 16 天前 | |
磁盘需求第五笔代码 Signed-off-by: sunxiaoqianghappy <sunxiaoqiang7@h-partners.com> Co-authored-by: Agent Signed-off-by: sunxiaoqianghappy <sunxiaoqiang7@h-partners.com> | 27 天前 | |
Issue:[Bug]: 代码优化整改 https://gitee.com/openharmony/filemanagement_storage_service/issues/ICMVW0 Description: 代码优化整改 Feature or Bugfix: Bugfix Binary Source: No Signed-off-by: hongshengquan <hongshengquan3@huawei.com> | 11 个月前 | |
存储优化第二期策略修改 Signed-off-by: Shj_ <shihaojie16@h-partners.com> | 5 个月前 | |
DVR独立卷宗需求 Change-Id: I19aeaa95db9b8ac97badb3ebf1fbc62589406f73 Signed-off-by: chenkang_jeff <chenkang45@huawei.com> | 27 天前 | |
限制.remote_share删除,挂载参数配置 Signed-off-by: cuiruibin <cuiruibin3@h-partners.com> | 1 个月前 | |
!2911 merge master into master 新增系统服务 qos_manager 目录 Created-by: chenxiaobaobb Commit-by: chenxiaobaobb Merged-by: openharmony_ci Description: **Description:** 新增系统服务 qos_manager 目录 **Issue number:** [#2302](https://gitcode.com/openharmony/filemanagement_storage_service/issues/2302) **Test & Result:** **CodeCheck:** <table> <tr> <th>类型</th><th>自检项</th><th>自检结果</th> </tr> <tr> <td rowspan="2">多线程相关</td><td>在类的成员变量中定义了vector/map/list等容器类型,且在多个成员函数中有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td>定义全局变量,在多个函数中都有操作时,需要加锁保护</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">内存相关</td><td>调用外部接口时,确认是否对返回值做了判断,尤其外部接口返回了nullptr的情况,避免进程崩溃</td><td>自检结果:</td> </tr> <tr> <td>调用安全函数时,如memcpy_s等,是否检查其返回值</td><td>自检结果:</td> </tr> <tr> <td>检查函数中是否涉及了内存或资源申请(如文件句柄),注意每个异常退出流程,是否都已经将资源释放(推荐使用RAII)</td><td>自检结果:</td> </tr> </tr> <tr> <td>隐式内存分配场景:realpath、ReadParcelable序列化、cJSON相关函数时等,需主动释放或使用智能指针</td><td>自检结果:</td> </tr> <tr> <td rowspan="4">校验外部输入</td><td>使用nlohmann:json解析外部输入时,需判断参数类型是否符合预期</td><td>自检结果:</td> </tr> <tr> <td>所有外部输入均不可信,需判断外部输入是否直接作为内存分配的大小,数组下标、循环条件、SQL查询等</td><td>自检结果:</td> </tr> <tr> <td>外部输入的路径不可信,需使用realpath做标准化处理,并判断路径的合法性</td><td>自检结果:</td> </tr> <tr> <td>外部输入包括对外提供的接口,IPC的proxy/stub接口,序列化/反序列化接口等</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="2">数学运算</td><td>代码中是否混合了加减乘除等运算,需检查是否可能导致整数溢出或符号翻转</td><td>自检结果:</td> </tr> <tr> <td>需检查代码是否有高精度数字转换为低精度的操作,如果必须,建议使用C++安全类型转换接口</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="1">秘钥相关</td><td>如变量临时保存了口令、秘钥等,需要在使用完成后及时清空(内存memset掉)</td><td>自检结果:</td> </tr> <tr> <td rowspan="2">权限相关</td><td>作为系统服务对外提供了接口,是否做了权限保护和校验(如需要),只允许申请了权限的应用访问</td><td>自检结果:</td> </tr> <tr> <td>内核对外提供了设备节点,是否做了权限保护,只允许特定的系统服务访问</td><td>自检结果:</td> </tr> </tr> <tr> <td rowspan="3">内核操作</td><td>如有mmap操作,并使用remap_pfn_range进行地址映射时,校验起始地址是否是用户态输入且没有做合法性校验</td><td>自检结果:</td> </tr> <tr> <td>是否有copy_from_user,并对外部输入的数据做了长度校验,以防止缓冲区溢出</td><td>自检结果:</td> </tr> <tr> <td>是否有使用copy_to_user,并在返回到用户态时,对数据做了完整初始化,或使用memset清空后再赋值</td><td>自检结果:</td> </tr> </tr> </table> See merge request: openharmony/filemanagement_storage_service!2911 | 15 天前 | |
| 3 年前 | ||
change readonly type. Signed-off-by: BrainL <libuyan1@huawei.com> Change-Id: I22d28d618d11db1c7957673802fda268cf00d147 | 11 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 9 小时前 | ||
| 16 天前 | ||
| 1 天前 | ||
| 4 年前 | ||
| 2 个月前 | ||
| 4 年前 | ||
| 29 天前 | ||
| 10 小时前 | ||
| 2 天前 | ||
| 9 天前 | ||
| 10 小时前 | ||
| 7 天前 | ||
| 1 个月前 | ||
| 7 天前 | ||
| 10 天前 | ||
| 24 天前 | ||
| 1 天前 | ||
| 16 天前 | ||
| 1 天前 | ||
| 16 天前 | ||
| 27 天前 | ||
| 11 个月前 | ||
| 5 个月前 | ||
| 27 天前 | ||
| 1 个月前 | ||
| 15 天前 | ||
| 3 年前 | ||
| 11 个月前 |