Skip to content

fuse+rpc is essentially unusable #1279

@jrray

Description

@jrray

Opening this to start a conversation. In my journey with using spfs server I find that while it is possible to create an spfs runtime that uses an grpc (rpc) repo type for "origin" and some basic operations like using cat to view files in /spfs are possible, this repository type doesn't support file seeks and so it is not possible to do other trivial things like run executables.

$ /spfs/bin/python
Segmentation fault (core dumped)

$ cat /spfs/bin/python | md5sum
Segmentation fault (core dumped)
$ cat /spfs/bin/python | env -i md5sum
0da79dd96d37ff8df9a69e9160431c16  -

Although we are setting the FOPEN_NONSEEKABLE | FOPEN_STREAM flags when opening a file, it doesn't mean that there aren't still situations that expect the files in /spfs to act like normal files and to be seekable.

Our fuse code could support seeking within files with some mechanism to cache payload contents and having a way to fetch sections of payloads over http. But without this it is dishonest to pretend this is a usable configuration. At a minimum the current limitations could be documented somewhere.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions