【问题标题】:Reliability of file locking on network files网络文件文件锁定的可靠性
【发布时间】:2009-08-10 14:28:21
【问题描述】:

我在网络文件isn't very reliable 上读取了该文件锁定。

我将那些 LockFile/LockFileEx/UnlockFile win32-api 函数用于范围锁定。有没有人在网络共享文件上使用这些功能的经验?

【问题讨论】:

  • 您引用的 sqlite 常见问题解答中的注意事项与通过 NFS 挂载的文件系统有关——在 Windows 环境中这种情况并不常见。如果使用 SMB 协议(标准 Windows 文件共享,或通过 Samba 共享文件的 Unix 主机)挂载共享,win32 锁定功能应该可以正常工作。

标签: winapi file-io locking


【解决方案1】:

Win32 文件锁定机制在对远程 CIFS 共享执行时是可靠的。几十年来,已经有许多平面文件数据库使用这些机制非常可靠地工作。

如果它们是在远程 NFS 共享上完成的,它们就不可靠(正如 Jim Lewis 所提到的)。

【讨论】:

  • 实际上,他说 NFS 可能无法工作,因为大多数 fcntl 实现(在 linux 上!)对于这个网络文件系统都被破坏了。但他也提到“有很多 Windows 经验的人告诉我,网络文件的文件锁定非常有问题,而且不可靠。”你确定他也是指带有网络文件的 NFS 吗?
  • *nix 中的文件锁定机制是建议性的,不是强制性的(就像在 Windows 上一样)。因此,像 NFS 这样公开 *nix 锁定机制的网络文件系统并不可靠。这是 UW IMAP 不支持在 NFS 共享上定位用户邮箱存储的原因之一。
  • “Win32 文件锁定机制在远程 CIFS 共享上执行时是可靠的”...您对此声明有参考吗?我想阅读更多内容。
猜你喜欢
  • 1970-01-01
  • 2012-07-12
  • 2015-09-21
  • 2010-12-08
  • 2011-02-16
  • 1970-01-01
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多