【严重程度】 一般
【特性】
【重现类型】 有条件概率重现
【定位分析】
该问题的根因是CIFS在writepages 时 lock_page ,等待其cifsd 进程清理PG_writeback标记后unlock_page。但是由于cifsd 清理PG_writeback 发生reconnect,导致进入cifs_writev_requeue() 函数中,基线lock_page导致死锁。
这就导致了cifs_writepages 和 cifsiod 的worker 陷入循环等待中,导致死锁
主线重构修补程序d08089f649a0(“cifs:将I/O路径更改为使用迭代器而不是页列表”)在等待写回完成时解锁页,从而避免在重新连接期间由锁顺序问题导致的潜在死锁。
由于主线的大重构,补丁不能直接backport。因此,本补丁只是借鉴了主线补丁的部分思路来修复死锁。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论