问题描述
我已使用挂载实用程序(cifs 文件系统)将一个目录从 Windows 10 PC 挂载到 Linux PC。每当 Windows 10 PC 断开连接或进入睡眠模式时,同时当我尝试访问 Linux PC 上安装的驱动器时,我的应用程序会冻结 120 秒。我知道挂载时使用 echo_interval 但不幸的是我使用的是不支持 echo_interval 自定义的旧内核。
是否有任何回调系统 API 可以检测并让我的应用程序知道挂载点已断开连接?
冻结/挂起时的内核堆栈:
smb2_reconnect.part.19+0x7d/0x330
[<0>] smb2_plain_req_init+0x35/0x70
[<0>] SMB2_open_init+0x69/0x700
[<0>] SMB2_open+0x131/0x470
[<0>] smb2_open_op_close+0xda/0x2d0
[<0>] smb2_query_path_info+0x72/0x160
[<0>] cifs_get_inode_info+0x1fd/0x680
[<0>] cifs_lookup+0xb6/0x3d0
[<0>] __lookup_slow+0x97/0x150
[<0>] lookup_slow+0x35/0x50
[<0>] walk_component+0x1bf/0x4a0
[<0>] path_lookupat.isra.57+0x6d/0x220
[<0>] filename_lookup.part.76+0xa0/0x130
[<0>] vfs_statx+0x73/0xe0
[<0>] __do_sys_newstat+0x39/0x70
[<0>] do_syscall_64+0x55/0x110
[<0>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)