diff options
author | Chong Cai <chongc@google.com> | 2021-08-04 16:41:27 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2021-08-04 16:44:11 -0700 |
commit | cbb99336cee7d37f4050875a95946ca88b7ac690 (patch) | |
tree | 640779186c9c89f0fc47f0e6b442ca150b1d06c3 /runsc/sandbox/sandbox.go | |
parent | 681e5419042ba6b00d50c82d64c0d556e28de0c7 (diff) |
Add Fs controls
Add Fs controls and implement "cat" command.
PiperOrigin-RevId: 388812540
Diffstat (limited to 'runsc/sandbox/sandbox.go')
-rw-r--r-- | runsc/sandbox/sandbox.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/runsc/sandbox/sandbox.go b/runsc/sandbox/sandbox.go index 822da8c5e..b15572a98 100644 --- a/runsc/sandbox/sandbox.go +++ b/runsc/sandbox/sandbox.go @@ -1002,6 +1002,24 @@ func (s *Sandbox) Resume(cid string) error { return nil } +// Cat sends the cat call for a container in the sandbox. +func (s *Sandbox) Cat(cid string, files []string, out *os.File) error { + log.Debugf("Cat sandbox %q", s.ID) + conn, err := s.sandboxConnect() + if err != nil { + return err + } + defer conn.Close() + + if err := conn.Call(boot.FsCat, &control.CatOpts{ + Files: files, + FilePayload: urpc.FilePayload{Files: []*os.File{out}}, + }, nil); err != nil { + return fmt.Errorf("Cat container %q: %v", cid, err) + } + return nil +} + // IsRunning returns true if the sandbox or gofer process is running. func (s *Sandbox) IsRunning() bool { if s.Pid != 0 { |