jjzjj

linux - fsync,同步 : does it really do what its supposed to?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭9年前。Improvethisquestion我想对Linux(2.6.31)中的sync(8)和fsync函数的功能有更多的说明。它是否确保将文件写入相应的存储?

linux - fsync,同步 : does it really do what its supposed to?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭9年前。Improvethisquestion我想对Linux(2.6.31)中的sync(8)和fsync函数的功能有更多的说明。它是否确保将文件写入相应的存储?

c - close() 在 Linux 上调用 fsync() 吗?

这个问题在这里已经有了答案:DoesLinuxguaranteethecontentsofafileisflushedtodiscafterclose()?(9个回答)关闭9年前。当我们调用close(),它会自动执行fsync()同步到物理媒体?

c - close() 在 Linux 上调用 fsync() 吗?

这个问题在这里已经有了答案:DoesLinuxguaranteethecontentsofafileisflushedtodiscafterclose()?(9个回答)关闭9年前。当我们调用close(),它会自动执行fsync()同步到物理媒体?

linux - 'sync' 和 'syncfs' 系统调用是否映射到 FUSE 的 'fsync' 调用?

FUSEAPI不公开文件系统级别的sync调用,只是fsync和fsyncdir。这是否意味着当sync被调用时(或FUSE挂载点内的syncfs),内核对所有FUSE挂载的所有打开文件调用fsync文件系统?还是有不同的语义? 最佳答案 查看内核源代码,似乎在sync和syncfs上执行了任何挂起的写回,但未调用fsync(不是AFAICS无论如何),所以实际上没有任何方法可以知道调用了sync或syncfs。相关代码在https://github.com/torvalds/linux/blob/v4.16/fs/sync.c,例

linux - 'sync' 和 'syncfs' 系统调用是否映射到 FUSE 的 'fsync' 调用?

FUSEAPI不公开文件系统级别的sync调用,只是fsync和fsyncdir。这是否意味着当sync被调用时(或FUSE挂载点内的syncfs),内核对所有FUSE挂载的所有打开文件调用fsync文件系统?还是有不同的语义? 最佳答案 查看内核源代码,似乎在sync和syncfs上执行了任何挂起的写回,但未调用fsync(不是AFAICS无论如何),所以实际上没有任何方法可以知道调用了sync或syncfs。相关代码在https://github.com/torvalds/linux/blob/v4.16/fs/sync.c,例

linux - 没有 fsync() 的 rename() 安全吗?

在不先调用fsync(tmppath_fd)的情况下调用rename(tmppath,path)是否安全?我希望路径始终指向一个完整的文件。我主要关心Ext4。rename()是否promise在所有future的Linux内核版本中都是安全的?Python中的用法示例:defstore_atomically(path,data):tmppath=path+".tmp"output=open(tmppath,"wb")output.write(data)output.flush()os.fsync(output.fileno())#Theneededfsync().output.clo

linux - 没有 fsync() 的 rename() 安全吗?

在不先调用fsync(tmppath_fd)的情况下调用rename(tmppath,path)是否安全?我希望路径始终指向一个完整的文件。我主要关心Ext4。rename()是否promise在所有future的Linux内核版本中都是安全的?Python中的用法示例:defstore_atomically(path,data):tmppath=path+".tmp"output=open(tmppath,"wb")output.write(data)output.flush()os.fsync(output.fileno())#Theneededfsync().output.clo

c++ - 如何在 ofstream 上进行 fsync?

我想确保已将ofstream写入磁盘设备。这样做的可移植方式是什么(在POSIX系统上可移植)?如果我在read-only附加模式中单独open文件以获取文件描述符并调用fsync是否可以解决问题它?像这样:ofstreamout(filename);/*...writecontentintoout...*/out.close();intfd=open(filename,O_APPEND);fsync(fd);close(fd); 最佳答案 如果您能够使用Boost,请尝试使用基于file_descriptor_sink的流,例如:

c++ - 如何在 ofstream 上进行 fsync?

我想确保已将ofstream写入磁盘设备。这样做的可移植方式是什么(在POSIX系统上可移植)?如果我在read-only附加模式中单独open文件以获取文件描述符并调用fsync是否可以解决问题它?像这样:ofstreamout(filename);/*...writecontentintoout...*/out.close();intfd=open(filename,O_APPEND);fsync(fd);close(fd); 最佳答案 如果您能够使用Boost,请尝试使用基于file_descriptor_sink的流,例如: