FUSE rename

Tag 10: the server relays an ask of the container’s proxy that renames an entry of a mount the client serves live, by the mount’s id and the entry’s path; the client answers with exactly one channel response, which the server relays to the proxy.

The server opens this channel when a FUSE mount’s scope on the container’s proxy carries the ask that renames an entry of a mount the client serves live. The ask is relayed with the mount’s id put in front of it — the mount’s scope is the mount, and its asks carry no id — and otherwise verbatim; the client’s one answer is relayed back.

  • The request. The tag byte 10 followed by the ask in the form the Container Proxy Endpoints layer defines for it, the mount’s id added. Request states its form.
  • The response. Exactly one channel response and the channel response finish. Response states the sequence.
  • The conduit. The server relays the one channel response onto the mount’s channel as one channel response and finishes it. The server does not read the ask or the answer, and does not send the ask twice.
  • Refusal is the client’s. A client that answers this ask with an error refuses the change, and the proxy reports the operation to the program as failed. A client whose volume is read only answers with the read-only byte, and the proxy reports the operation to the program as a read-only filesystem. The server relays the answer and decides nothing.
  • A directory mount only. The proxy sends this ask only for a mount of fuse_directory_mounts.