先说一下问题出现的场景:
两台linux服务器通过samba挂载,一台写文件,一台读文件,为防止文件没写完就被读取,写文件时先用临时文件名,然后再rename

结果遇到个问题rename调用成功,但是文件名没有改,手工执行mv命令,报错说是 are the same file,这种情况在一台机器重启后出现比较频繁。

网上各种搜,没有合适的关键词,搜不到有用的信息。突然想起看看dmesg,结果发现了有用的错误信息

CIFS VFS: Unexpected lookup error -112
CIFS VFS: cifs_mount failed w/return code = -112
CIFS VFS: Unexpected lookup error -112

用这个关键词搜到了解决方法,试了一下重命名成功了

echo 0 > /proc/fs/cifs/OplockEnabled
# 下面这句没执行,重命名以前成功了
echo 0 > /proc/fs/cifs/LookupCacheEnabled

顺便说一下,这次竟然是用baidu搜到的,真是太…,等下去买彩票

参考资料:
http://blog.csdn.net/zzban/article/details/8736121

Logo

更多推荐