396 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

长稳环境中raid损坏后,空盘加入raid后立刻recovery完成

待办的
缺陷
创建于  
2023-05-22 14:39

优先级:

次要

详细描述:

【OS版本】:被测的版本信息

5.10.0-60.18.0.50.h763.kasan.openEuler-22.03-LTS.x86_64

【测试类型】

长稳测试

【测试步骤】

1.4盘组raid10,add一块盘作为spare盘

2.周期构造2盘fail,然后remove后add

3.不断重复,有结果1

【结果输出】:根据上述测试步骤执行后,系统的实际输出

热备盘未能替换faulty和remove后的盘

【预期输出】:系统在上述测试步骤操作后,按照系统设计应该输出的结果

无异常

【测试代码】:发现问题的测试代码,或者关键片段,能指导问题复现

参见步骤

【初步定位结论】:已明确的相关定位信息或者相关的沟通交流信息

待定位,现场保留

原因分析:

【是否新引入rpm包,是否进行了安全编译选项扫描】

【定位分析】

1.raid10_sync_request函数会进行数据同步,数据同步过程中,若这份数据找不到盘来recovery,则会goto giveup,使得chunks_skipped++,然后重复下一份数据。

2.当chunks_skipped >= conf->geo.raid_disks也就是连续有多个坏块时,会直接返回max_sectors

3.md_do_sync函数通过mddev->pers->sync_request获取2中返回值,由于此时返回max_sectors,会认为recovery成功完成,

4.此时raid中有连续坏块时会多次giveup,然后未进行recovery就done,导致磁盘中数据不一致而raid确认为其一致,从而显示同步完成。

【对外部是否有影响】

评论 (2)

peulerosci 创建了缺陷
openeuler-ci-bot 添加了
 
sig/Kernel
标签

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
5329419 openeuler ci bot 1632792936
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

搜索帮助