首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们是否需要对UBIFS中的父目录进行fsync以进行原子*和*持久文件更新?

我们是否需要对UBIFS中的父目录进行fsync以进行原子*和*持久文件更新?
EN

Stack Overflow用户
提问于 2018-12-10 09:26:03
回答 1查看 446关注 0票数 1

下面是典型而著名的方法 for 原子文件更新:

代码语言:javascript
复制
fd = open(“foo.new”, O_WRONLY);
write(fd, buf, bufsize);
fsync(fd);
close(fd);
rename(“foo.new”, “foo”);

通常,如果我们还想要持久性(即保证新版本的文件在崩溃时可用),那么我们还需要在父目录上调用fsync

问: UBIFS也需要这样的服务吗?文档说:

可以为目录调用fsync() -它同步inode元数据目录。..。 在UBIFS中,对目录的fdat异步()调用是"no-op“,所有更改目录条目的UBIFS操作都是同步的。

如果我正确阅读,后者(“更改目录条目的所有UBIFS操作都是同步的”)似乎意味着没有必要在父dir上调用fsync。然而,我的测试似乎表明情况并非如此。我是误读了文档,还是这些信息过时了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-11 15:51:39

我在MTD邮件列表中询问;似乎文档是不明确的,在父dir上是必要的。和其他文件系统一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53702698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档