summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/flags.go
diff options
context:
space:
mode:
authorJamie Liu <jamieliu@google.com>2019-07-17 15:48:33 -0700
committergVisor bot <gvisor-bot@google.com>2019-07-17 15:52:38 -0700
commit2bc398bfd8fbe38776a512329bd0c40c9c7a5cdf (patch)
treeb978cf47150c445300d20941d617941fb3053b4d /pkg/sentry/fs/flags.go
parent84a59de5dc3a0b8a260c942958cd91e014dc8d9b (diff)
Separate O_DSYNC and O_SYNC.
PiperOrigin-RevId: 258657913
Diffstat (limited to 'pkg/sentry/fs/flags.go')
-rw-r--r--pkg/sentry/fs/flags.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkg/sentry/fs/flags.go b/pkg/sentry/fs/flags.go
index 1278f9c78..0fab876a9 100644
--- a/pkg/sentry/fs/flags.go
+++ b/pkg/sentry/fs/flags.go
@@ -28,7 +28,11 @@ type FileFlags struct {
// NonBlocking indicates that I/O should not block.
NonBlocking bool
- // Sync indicates that any writes should be synchronous.
+ // DSync indicates that each write will flush data and metadata required to
+ // read the file's contents.
+ DSync bool
+
+ // Sync indicates that each write will flush data and all file metadata.
Sync bool
// Append indicates this file is append only.
@@ -96,6 +100,9 @@ func (f FileFlags) ToLinux() (mask uint) {
if f.NonBlocking {
mask |= linux.O_NONBLOCK
}
+ if f.DSync {
+ mask |= linux.O_DSYNC
+ }
if f.Sync {
mask |= linux.O_SYNC
}