瑞芯微Rockchip开发者社区
直播中

小香干

12年用户 516经验值
擅长:399938
私信 关注
[问答]

为什么在3328 android10.0上外接u盘重启后每次都需要格式化呢

为什么在3328 android10.0上外接u盘重启后每次都需要格式化呢?怎样去解决这个问题呢?

回帖(1)

李倩

2022-3-9 13:39:42
测试平台

Platform: RK3399/RK3328
OS: Android10.0

现象

在3328 android10.0上外接u盘/移动硬盘(u***/pcie)开机提示需要格式化,格式化后可以正常使用,但是重启后会再次提示需要格式化

分析

查看log,发现是系统获取LOST.DIR信息时出错,提示No space in …


log忘记保存

开机格式化后,重启前用adb进入外接存储删除LOST.DIR目录,重启后发现没有提示格式化也可以正常使用.

解决

diff --git a/external/fsck_msdos/dir.c b/external/fsck_msdos/dir.c
index 38c7014..31a4663 100644
--- a/external/fsck_msdos/dir.c
+++ b/external/fsck_msdos/dir.c
@@ -964,6 +964,7 @@ reconnect(int dosfs, struct bootblock *boot, struct fatEntry *fat, cl_t head)
                if (lfcl < CLUST_FIRST || lfcl >= boot->NumClusters) {
                        /* Extend LOSTDIR?                              XXX */
                        pwarn("No space in %sn", LOSTDIR);
+                       lfcl = (lostDir->head < boot->NumClusters) ? lostDir->head : 0;
                        return FSERROR;
                }
                lfoff = lfcl * boot->ClusterSize
举报

更多回帖

发帖
×
20
完善资料,
赚取积分