aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/sharefs/fuse.go
AgeCommit message (Collapse)Author
2025-12-27cmd/sharefs: handle mount -t fuse.sharefsOphestra
This should have been handled in a custom option parsing function, but that much extra complexity is unnecessary for this edge case. Honestly I do not know why libfuse does not handle this itself. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-27cmd/sharefs: check option parsing behaviourOphestra
This change makes it possible to check parseOpts behaviour as part of Go tests. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-27cmd/sharefs: containerise filesystem daemonOphestra
This replaces the forking daemonise libfuse function which prevents Go callbacks from calling into the runtime. This also enforces least privilege on the daemon process. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-27cmd/sharefs: opaque setup stateOphestra
This allows unrestricted use of the type system and prepares setup code for cross-process initialisation. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-27cmd/sharefs: expand fuse_mainOphestra
This change should not change behaviour other than making output more consistent. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-27cmd/sharefs: improve help messageOphestra
This improves consistency with the fuse_main help message. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-26cmd/sharefs: allocate sharefs_private earlyOphestra
This also removes global state used by sharefs_init. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-26cmd/sharefs: rename fuse-helper to fuse-operationsOphestra
This is not really just library wrapper functions, but instead implements the callbacks, so fuse-operations makes more sense. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-25cmd/sharefs: remove readlinkOphestra
This filesystem does not support symbolic links, so readlink is not useful, and unreachable in this case because of the check in getattr. Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-12-25cmd/sharefs: implement shared filesystemOphestra
This is for passing files between applications, similar to android /sdcard. Signed-off-by: Ophestra <cat@gensokyo.uk>