首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LockFile成功但ReadFile失败

LockFile成功但ReadFile失败
EN

Server Fault用户
提问于 2013-07-24 15:20:08
回答 2查看 308关注 0票数 5

我知道这听起来像是程序问题,但实际上不是。请容忍我:

我有一个客户遇到了一个我无法解释的奇怪问题:一个程序在共享SMB驱动器(Windows2008R2服务器)上使用一个在共享模式下打开的文件。

在文件中执行更新之前,程序将使用LockFile锁定特定的药剂,读取数据,将所需的更改写入这些部分,然后解锁它们。

这样做是为了确保同一程序的多个实例可以覆盖对方的更改。

在我的客户案例中,这个程序(在所有其他位置都表现得非常好)成功地锁定了文件,但是随后对同一个句柄的ReadFile调用失败了,GetlastError返回了错误64 The specified network name is no longer available

因此,我的问题是:

在windows SMB客户端或服务器中是否存在可能导致以下情况的设置?

在我看来,这是一个乐观的锁,但是windows默认不做乐观锁(它做机会主义锁)。

我的第一个怀疑是,这个问题是由反病毒软件(卡巴斯基)引起的,但是网站管理员发誓所有的AVs都排除了这个网络路径,无论是在客户端还是在文件服务器上。

客户端操作系统是Windows、7、2003和2008R2 (通过终端服务)的混合体。它似乎只发生在沉重的时候(早上,当每个人都进来,或在晚上,当每个人都注销)。

EN

回答 2

Server Fault用户

发布于 2013-08-27 06:47:43

答案比我想象的要简单得多:服务器NIC的设备驱动程序故障显然是所有这些故障的原因。

票数 1
EN

Server Fault用户

发布于 2013-08-26 16:08:04

这确实是一个编程问题,IMHO,但它可能会恢复到‘工作’的方式,通过降级您的操作系统。Windows 7在CIFS中引入了一种新的锁机制,这几乎可以肯定是导致您的问题的原因。这意味着您要么需要更新程序来使用新的锁方案(编程prob),要么需要降级或找到兼容性修复(管理问题)。

http://en.wikipedia.org/wiki/Server_消息_区块

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/525951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档