+28
−12
Loading
mainline inclusion from mainline-v6.10-rc4 commit bc9dde6155464e906e630a0a5c17a4cab241ffbb category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/IA6I1T Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bc9dde6155464e906e630a0a5c17a4cab241ffbb -------------------------------- Replacing wait_for_completion() with wait_for_completion_killable() in cachefiles_ondemand_send_req() allows us to kill processes that might trigger a hunk_task if the daemon is abnormal. But now only CACHEFILES_OP_READ is killable, because OP_CLOSE and OP_OPEN is initiated from kworker context and the signal is prohibited in these kworker. Note that when the req in xas changes, i.e. xas_load(&xas) != req, it means that a process will complete the current request soon, so wait again for the request to be completed. In addition, add the cachefiles_ondemand_finish_req() helper function to simplify the code. Suggested-by:Hou Tao <houtao1@huawei.com> Signed-off-by:
Baokun Li <libaokun1@huawei.com> Link: https://lore.kernel.org/r/20240522114308.2402121-13-libaokun@huaweicloud.com Acked-by:
Jeff Layton <jlayton@kernel.org> Reviewed-by:
Jia Zhu <zhujia.zj@bytedance.com> Signed-off-by:
Christian Brauner <brauner@kernel.org> Signed-off-by:
Zizhi Wo <wozizhi@huawei.com>