gvisor/pkg/sentry/kernel/pipe
Adin Scannell 7c6ab6a219 Implement splice methods for pipes and sockets.
This also allows the tee(2) implementation to be enabled, since dup can now be
properly supported via WriteTo.

Note that this change necessitated some minor restructoring with the
fs.FileOperations splice methods. If the *fs.File is passed through directly,
then only public API methods are accessible, which will deadlock immediately
since the locking is already done by fs.Splice. Instead, we pass through an
abstract io.Reader or io.Writer, which elide locks and use the underlying
fs.FileOperations directly.

PiperOrigin-RevId: 268805207
2019-09-12 17:43:27 -07:00
..
BUILD
buffer.go Implement splice methods for pipes and sockets. 2019-09-12 17:43:27 -07:00
buffer_test.go
device.go Update canonical repository. 2019-06-13 16:50:15 -07:00
node.go
node_test.go Plumb context through more layers of filesytem. 2019-06-13 18:40:38 -07:00
pipe.go Implement splice methods for pipes and sockets. 2019-09-12 17:43:27 -07:00
pipe_test.go
reader.go
reader_writer.go Implement splice methods for pipes and sockets. 2019-09-12 17:43:27 -07:00
writer.go