summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fsimpl/gofer
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2020-02-10 13:04:29 -0800
committergVisor bot <gvisor-bot@google.com>2020-02-10 13:05:27 -0800
commit4d4d47f0c0a21d3404d2edae527b187d62daa3c8 (patch)
tree0b20fcdc64fa6e262501c0e0358b501a523fbe5f /pkg/sentry/fsimpl/gofer
parentc9a18b16ade6ec0bc90fc75d0a4ab0621f9d01d6 (diff)
Add contextual note.
PiperOrigin-RevId: 294285723
Diffstat (limited to 'pkg/sentry/fsimpl/gofer')
-rw-r--r--pkg/sentry/fsimpl/gofer/directory.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkg/sentry/fsimpl/gofer/directory.go b/pkg/sentry/fsimpl/gofer/directory.go
index baa2cdd8e..6d4ebc2bf 100644
--- a/pkg/sentry/fsimpl/gofer/directory.go
+++ b/pkg/sentry/fsimpl/gofer/directory.go
@@ -87,6 +87,10 @@ func (d *dentry) getDirents(ctx context.Context) ([]vfs.Dirent, error) {
// to assume that directory fids have the correct semantics, and translates
// struct file_operations::readdir calls directly to readdir RPCs), but is
// consistent with VFS1.
+ //
+ // NOTE(b/135560623): In particular, some gofer implementations may not
+ // retain state between calls to Readdir, so may not provide a coherent
+ // directory stream across in the presence of mutation.
d.fs.renameMu.RLock()
defer d.fs.renameMu.RUnlock()