Created attachment 1133 [details] DELETE DIR FAIL: unlinkat报错对应截图 Description of problem: AnolisOS 8.2 QU1 x86服务器 内核4.19.91-24.8.an8.x86_64,用户反馈polefs用龙蜥操作系统 会有读取目录不完整的bug,polefs这边反馈跟操作系统有关系。现象:用户上层go代码调用removeall报错 直接原因是:目录不为空,原因是下面的文件没有unlink完就调了rm,中间的参数传的有问题,排查了整个调用栈,后端接收到的值都没有问题,客户端从go调用fuse到polefs客户端,都没有发现异常,就内核侧没有排查了. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1.挂载好客户端, 需要测的时候 cp -r vendor mnt/vendor1 拷贝一份测试数据进来 然后执行命令就能复现了 如果需要具体文件,可以再单独联系我。 Actual results: Expected results: Additional info:
polefs是什么文件系统,我们之前从来没有接触过 :-( 建议抽象一下问题复现case,在线下能够稳定复现出来,这样才好在内核中增加调试代码抓数据做排查,以便判断是哪个环节出问题了。
polefs是自行开发的文件系统,对应开发人员在polefs客户端做了修复,原因是内核处理过程中收到了pending信号,就中断去处理信号了,而polefs没有对已经发过去目录项做记录,因此重发的时候就少了一部分,这块已经修复了。感谢社区协助分析。