[RK3399/RK3328][Android10.0] storage:u盘/移动硬盘 每次开机都提示需要格式化

测试平台

Platform: RK3399/RK3328
OS: Android10.0

现象

在3328 android10.0上外接u盘/移动硬盘(usb/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 %s\n", LOSTDIR);
+                       lfcl = (lostDir->head < boot->NumClusters) ? lostDir->head : 0;
                        return FSERROR;
                }
                lfoff = lfcl * boot->ClusterSize

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值