[发明专利]一种开机文件系统检测方法以及相关设备有效
申请号: | 201910703595.X | 申请日: | 2019-07-31 |
公开(公告)号: | CN110532032B | 公开(公告)日: | 2021-01-05 |
发明(设计)人: | 龚晨;杨杰;陈成;周佐华 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 骆苏华 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 开机 文件系统 检测 方法 以及 相关 设备 | ||
1.一种开机文件系统检测方法,其特征在于,包括:
通过内核态中的内核驱动检测到第一磁盘分区;
通过所述内核驱动中的初始化函数完成对所述第一磁盘分区的初始化;
通过所述初始化函数对所述第一磁盘分区进行文件系统检测fsck;
向用户态初始化进程上报第一磁盘分区事件。
2.根据权利要求1所述的方法,其特征在于,所述向所述用户态初始化进程上报所述第一磁盘分区事件之前,所述方法还包括:
记录所述第一磁盘分区的fsck的结果。
3.根据权利要求2所述的方法,其特征在于,所述记录所述第一磁盘分区的所述fsck的结果,包括:
在超级块superblock中记录所述第一磁盘分区的fsck检测结果,和/或,
在所述第一磁盘分区中记录执行fsck的时间。
4.根据权利要求3所述的方法,其特征在于,所述通过所述初始化函数对所述第一磁盘分区进行所述文件系统检测fsck之前,所述方法还包括:
读取所述第一磁盘分区的第一页面;
根据所述第一页面的读取结果,确定所述第一磁盘分区的文件系统属性,并调用与所述第一磁盘分区的文件系统属性对应的fsck流程。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一页面的读取结果,确定所述第一磁盘分区的文件系统属性,包括:
根据所述第一页面的魔数,确定所述第一磁盘分区的文件系统属性。
6.根据权利要求4所述的方法,其特征在于,所述通过所述初始化函数对所述第一磁盘分区进行文件系统检测fsck,包括:
通过所述初始化函数中所述fsck流程对所述第一磁盘分区进行文件系统检测fsck,具体的:
所述fsck流程通过所述初始化函数中的第一函数指针簇对所述第一页面进行fsck,其中,所述第一函数指针簇中包括第一读指针以及第一写指针,所述第一读指针用于读取所述第一页面,所述第一写指针用于记录所述fsck的结果。
7.根据权利要求6所述的方法,其特征在于,所述向用户态所述初始化进程上报所述第一磁盘分区事件之后,所述方法还包括:
根据所述第一磁盘分区事件建立第一节点,其中,所述第一节点对应所述第一磁盘分区;
通过所述初始化进程调用第一加载系统调用方式mount挂载所述第一节点,所述第一mount中携带fsck选项;
通过所述第一mount检测所述第一磁盘分区的所述fsck检测结果;
若所述fsck检测结果为异常,则所述初始化进程修复所述第一磁盘分区,并退出所述第一mount。
8.根据权利要求7所述的方法,其特征在于,所述通过所述第一mount检测所述第一磁盘分区的所述fsck检测结果,包括:
通过所述第一mount检测所述超级块;
确定所述第一磁盘分区的所述fsck检测结果。
9.根据权利要求7所述的方法,其特征在于,所述初始化进程修复所述第一磁盘分区之后,所述方法还包括:
通过所述初始化进程调用第二mount,其中所述第二mount中不携带所述fsck选项;
使用所述第二mount挂载所述第一节点。
10.根据权利要求7所述的方法,其特征在于,所述根据所述第一磁盘分区事件建立所述第一节点之后,所述方法还包括:
通过用户态所述初始化进程读取所述第一磁盘分区的所述第一页面;
若所述第一页面中所述fsck检测结果为异常,则通过所述初始化进程对所述第一磁盘分区进行修复;
若所述第一页面中所述fsck检测结果为正常,则挂载所述第一节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910703595.X/1.html,转载请声明来源钻瓜专利网。