首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libgit2在停电期间安全吗?

libgit2在停电期间安全吗?
EN

Stack Overflow用户
提问于 2017-02-13 13:30:04
回答 1查看 78关注 0票数 1

给定将对象附加到对象存储并更新引用以指向新提交的用例,libgit2是否安全,其中safe被定义为以下结果之一:

  • 在更新ref之前,电源将丢失,存储库的头部不会发生“可见”的更改。
  • 在ref更新后,电源就会丢失,头部指向新提交,所有数据都可用。

关键是libgit2在什么点保证数据被刷新到磁盘。在更新ref之前,我们是否保证将对象数据库中的数据刷新到磁盘?

换句话说:在什么情况下可以更新ref,但对象存储没有持久化数据?

更新:我发现libgit2现在正在实现对fsync https://github.com/libgit2/libgit2/pull/4030的可选支持,这意味着在更新https://github.com/libgit2/libgit2/pull/4030之前,所有松散对象的写入(附加)都应该在磁盘上。

EN

回答 1

Stack Overflow用户

发布于 2017-02-13 13:33:53

没有人能保证,当你失去能量时,任何东西都会被写入磁盘。解决此问题的解决方案只有两种:禁用写入缓存或使用UPS。至少有一个电池来冲洗RAID控制器缓存。

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

https://stackoverflow.com/questions/42205268

复制
相关文章

相似问题

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