SMB2 Oplock Break Failure [英] SMB2 Oplock Break Failure

查看:169
本文介绍了SMB2 Oplock Break Failure的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我一直在非Windows环境中实施SMB 2.002服务器。但是,我在oplock break操作方面遇到了困难。客户端能够请求使用批量oplock创建一个打开的文件,这是有效的。但是如果它在同一个文件上执行另一个
Create,并导致服务器发出中断通知,那就是问题开始的地方。有时,客户端将收到中断通知,处理它,并通过释放其oplock进行响应。当发生这种情况时,我的服务器将对中断确认回复
,并授予新的创建。大家都快乐。然而,其他时候,客户将收到休息时间,似乎只是忽略它。更重要的是,在客户端上完成的相同类型的任务始终失败或成功。在
oplock计时器到期后,我让服务器向第二个创建请求返回一个错误,因为oplock无法被破坏。然后,客户端将关闭原始文件,并重复第二次打开,并能够完成它正在尝试的任务。我确定所有的SMB2数据包都被接收了,因为我直接从客户端运行了wireshark跟踪。我一直在测试Windows Vista,7和8客户端,并且在所有三个地方都观察到了相同的行为。


我试图寻找其他人遇到此问题的证据,但没有找到任何帮助我弄清楚这是怎么回事。是否存在已知问题,Windows SMB2客户端并不总是响应中断通知?
客户可能以某种方式"忘记"了吗?它在文件上有一个oplock?我已经尝试扩展oplock定时器,在创建的临时响应和oplock中断之间创建延迟,甚至切换临时响应和
中断发送到客户端的顺序,所有这些都没有可观察到的更改在客户行为。关于我可以在下面看到什么的想法,试着看看为什么会发生这种情况?


提前致谢!

解决方案

您好  unidevon:


感谢您与Microsoft支持部门联系。支持工程师将联系以进一步协助。



问候



Hi,

I have been implementing an SMB 2.002 server in a non-windows environment. However, I am having difficulties with the oplock break operation. The client is able to request to Create a open file with a batch oplock, that works. But if it performs another Create on the same file, and causes the server to issue a break notification, that is where the problems start. Sometimes the client will receive the break notification, process it, and respond by releasing its oplock. When that happens, my server will respond to the break acknowledgement, and grant the new create. Everyone in happy. Other times, however, the client will receive the break and seemingly just ignore it. What is more, the same types of tasks being done on the client consistently fail or succeed. After the oplock timer expires, I have the server return an error to the second create request since the oplock couldn't be broken. The client will then close the original file, and repeat the second open, and is able to complete the task it was attempting. I am sure that all the SMB2 packets are being received because I ran a wireshark trace directly from the client. I have been testing with Windows Vista, 7, and 8 clients, and have observed the same behavior in all three places.

I tried looking for evidence of others running into this problem but did not find anything that helped me to figure out what is going on with this. Is there a known issue where Windows SMB2 clients do not always respond to break notifications? Could the client have somehow "forgotten" it had an oplock on a file? I have tried extending the oplock timer, creating a delay between the interim response to the create and the oplock break, even switching the order in which the interim response and the break are sent to the client, all with no observable change in the clients behavior. Any ideas on what I can look at next to try and see why this is happening?

Thanks in advance!

解决方案

Hello unidevon :

Thank you for contacting Microsoft Support. A support engineer will be in touch to assist further.

Regards


这篇关于SMB2 Oplock Break Failure的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆