我们的 Azure 文件共享使用类似这
我们看到一个特定文件上的 NFS 文件句柄已经过时,每次我们要求程序创建和写入该文件时,我们都会看到程序终止并报告我们 stale NFS file handle
但在已安装的文件共享上使用 UNIX 实用程序创建文件
echo "hello" > the-file.txt
似乎可行。
这里有什么问题?除此文件外,所有其他文件均已创建。
相关代码如下golang
,如下所示。
...
s.csvFile, err = snowflakeFile(filePath, data)
if err != nil {
return err
}
defer s.cleanup()
...
func snowflakeFile(path string, data EventData) (*os.File, error) {
filename := fmt.Sprintf("%s-%s-%s.csv", data.Type, md5Sum(data.RemoteServer), filepath.Base(path))
filename = filepath.Join(config.Fetch("CSV_DIR"), filename)
return os.OpenFile(filename, os.O_CREATE|os.O_WRONLY|os.O_TRUNC, 0644)
}
func (b *base) cleanup() error {
err := b.csvFile.Close()
if err != nil {
log.Errorf("[%s] Error closing the file handler %s: %+v", b.Type, b.csvFile.Name(), err)
}
return err
}