summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/ext/extent_file.go
diff options
context:
space:
mode:
authorAyush Ranjan <ayushranjan@google.com>2019-08-07 14:22:19 -0700
committergVisor bot <gvisor-bot@google.com>2019-08-07 14:23:42 -0700
commit1c9781a4edce5fa9688f868149a2506f2ec5fa86 (patch)
tree6538030ca97dcdb175bed5e1dc7cea382ff06ee1 /pkg/sentry/fs/ext/extent_file.go
parent79cc4397fd99fbdd5c74ac5bb7804a463d7981d8 (diff)
ext: vfs.FileDescriptionImpl and vfs.FilesystemImpl implementations.
- This also gets rid of pipes for now because pipe does not have vfs2 specific support yet. - Added file path resolution logic. - Fixes testing infrastructure. - Does not include unit tests yet. PiperOrigin-RevId: 262213950
Diffstat (limited to 'pkg/sentry/fs/ext/extent_file.go')
-rw-r--r--pkg/sentry/fs/ext/extent_file.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/pkg/sentry/fs/ext/extent_file.go b/pkg/sentry/fs/ext/extent_file.go
index 44fb9c01f..1b9bf449b 100644
--- a/pkg/sentry/fs/ext/extent_file.go
+++ b/pkg/sentry/fs/ext/extent_file.go
@@ -150,7 +150,11 @@ func (f *extentFile) ReadAt(dst []byte, off int64) (int, error) {
return 0, io.EOF
}
- return f.read(&f.root, uint64(off), dst)
+ n, err := f.read(&f.root, uint64(off), dst)
+ if n < len(dst) && err == nil {
+ err = io.EOF
+ }
+ return n, err
}
// read is the recursive step of extentFile.ReadAt which traverses the extent