gvisor/pkg/abi
Ridwan Sharif 112eb0c5b9 Add device implementation for /dev/fuse
This PR adds the following:
  - [x] Marshall-able structs for fuse headers
  - [x] Data structures needed in /dev/fuse to communicate with the daemon server
  - [x] Implementation of the device interface
  - [x] Go unit tests

This change adds the `/dev/fuse` implementation. `Connection` controls the
communication between the server and the sentry.  The FUSE server uses
the `FileDescription` interface to interact with the Sentry. The Sentry
implmenetation of fusefs, uses `Connection` and the Connection interface
to interact with the Server. All communication messages are in the form
of `go_marshal` backed structs defined in the ABI package.

This change also adds some go unit tests that test (pretty basically)
the interfaces and should be used as an example of an end to end FUSE
operation.

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/gvisor/pull/3083 from ridwanmsharif:ridwanmsharif/fuse-device-impl 69aa2ce970004938fe9f918168dfe57636ab856e
PiperOrigin-RevId: 323428180
2020-07-27 13:34:44 -07:00
..
linux Add device implementation for /dev/fuse 2020-07-27 13:34:44 -07:00
BUILD Standardize on tools directory. 2020-01-27 12:21:00 -08:00
abi.go Update package locations. 2020-01-27 15:31:32 -08:00
abi_linux.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00
flag.go Change copyright notice to "The gVisor Authors" 2019-04-29 14:26:23 -07:00