stat()系统调用真正做了什么?

时间:2016-09-21 09:49:53

标签: amazon-ec2 centos freebsd nfs

我在AWS中使用EFS。我的设置包括同一个AZ中的2个EC2实例(一个FreeBSD 9.3和一个CentOS 7) - 都安装了一个EFS卷(比如说,在/ data / efs)

我在以下两个实例上都运行了以下代码。所有文件都在/ data / efs -

for x in xrange(100):
    try:
        os.link(socket.get_hostname(), 'file')
        break
    except OSError as e:
        if e.errno == 17:
            # Other host is yet to unlink
            time.sleep(1)
         else:
             raise
    <do_something>
    os.unlink('file')

总是(无论在主机上启动脚本的顺序如何),linux主机都会在某个时刻获得控制权。完成&#34;做某事&#34;先是100次。发布,FreeBSD实例需要一段时间(最多1分钟)开始&#34;做某事&#34;试。

FreeBSD主持人等待,运行&#39; ls&#39;在主持人上没有显示条目&#39;文件&#39;在/ home / efs但是上面的os.link()调用失败了。但是如果我运行os.stat()(第一次运行它来检查链接数),FreeBSD主机启动&#34;做某事&#34;再一次。

os.stat()在NFS场景中真正做了什么?它会强制重新计票吗?

0 个答案:

没有答案