# FUSE list

> Tag 2: the client lists a directory of the volume, by the path of the entry within the volume, in the form the FUSE mount ask of the same tag has on the container proxy; the server answers with exactly one channel response, the entries, the absence of the directory, or an error, from the volume.

Canonical: https://protocol.diverge.network/2.3.0/endpoints/volumes-fuse-serve/client/list/
Specification revision: 2.3.0

The client opens this channel to perform on the served volume what a
program in a container performs on a FUSE mount. The ask names the
entry by its path within the volume, and names no volume: the scope
is the volume. It is, byte for byte, the ask of tag `2` a FUSE
mount's scope carries on the container proxy, and the server answers
it as a client answers that ask, from the volume.

- **The request.** The tag byte `2` followed by the ask.
  [Request](/2.3.0/endpoints/volumes-fuse-serve/client/list/request/) states its form.
- **The response.** Exactly one channel response and the channel
  response finish. [Response](/2.3.0/endpoints/volumes-fuse-serve/client/list/response/) states the
  sequence.
- **The meaning.** What the ask means, and what its answer means,
  [FUSE list](/2.3.0/container-proxy-endpoints/fuse-mount/server/list/) states for the mount, and
  [FUSE list](/2.3.0/endpoints/containers-agents-run/server/fuse-list/) states
  for the relay; the same holds here, the volume standing where the
  client's storage stands there.
- **The volume answers.** The server answers from the volume as it is
  at the time of the answer, and changes the volume as the ask asks
  before it answers `ok`. Nothing is buffered on the client's behalf.
- **Every mode.** A volume answers this ask whatever its `mode`; an `ephemeral` volume answers from its layer where the layer holds the entry, and from the volume where it does not.
