1 实现原理
1.1 异常信息上报方式
文件系统IO异常通过netlink 广播范式上报给用户态。
1.2 IO异常上报信息时机
ext4_handle_error和__ext4_abort处理流程分别上报异常信息。
2 异常信息介绍
2.1 宏定义
#define NL_EXT4_ERROR_GROUP 1
解释: 异常信息上报的netlink的广播组号。
#define EXT4_ERROR_MAGIC 0xAE32014U
解释:异常信息魔数。
2.2 异常信息结构ext4_err_msg
struct ext4_err_msg {
int magic;
char s_id[32];
unsigned long s_flags;
int ext4_errno;
};
magic: 异常信息魔数,为固定值0xAE32014U。
s_id:值来源于sb->s_id,是对应磁盘的名称(例如sda、sdb、sdc)。
s_flags:值来源于sb->s_flags。
ext4_errno:错误码,1代表ext4_handle_error上报了错误,2代表__ext4_abort上报了错误。
Hi iceleaf2019, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers: @YangYingliang , @pi3orama , @成坚 (CHENG Jian) , @zhengzengkai , @Xie XiuQi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论