commit | f592aa85c9964960cbcd84d7c204c8ad12abe36c | [log] [tgz] |
---|---|---|
author | Hai Zhang <zhanghai@google.com> | Mon Aug 12 13:27:01 2019 -0700 |
committer | Hai Zhang <zhanghai@google.com> | Mon Aug 12 23:49:07 2019 +0000 |
tree | 5d05676afa063ab9ca822e3ebaaaf6de3e4fbdc0 | |
parent | fa3d2016ae389329a04a56041843595ffc11ac07 [diff] |
Rewrite AtomicDirectory. The previous version didn't close its FDs for directories, and called fsync() on the wrong FDs. To make sure a rename() is persisted, we need to call fsync() on the FD of the parent directory, because file names are stored in directory entries instead of inodes. Also removed the need for dedicated native code by calling the Os class directly. Fixes: 139302541 Bug: 138866253 Test: presubmit Change-Id: I67fe98811814acba5158d760766a2ef3b121225a