cmd/sharefs: allocate sharefs_private early

This also removes global state used by sharefs_init.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-12-26 08:08:41 +09:00
parent 54712e0426
commit 0e476c5e5b
2 changed files with 40 additions and 29 deletions

View File

@@ -13,7 +13,11 @@
/* sharefs_private is populated by sharefs_init and contains process-wide context */
struct sharefs_private {
int dirfd; /* source dirfd opened during sharefs_init */
int dirfd; /* source dirfd opened during sharefs_init */
bool init_failed; /* whether sharefs_init failed */
uintptr_t source_handle; /* cgo handle of pathname to open for dirfd, freed during sharefs_init */
uintptr_t setuid; /* uid to set by sharefs_init when running as root */
uintptr_t setgid; /* gid to set by sharefs_init when running as root */
};
int sharefs_getattr(const char *pathname, struct stat *statbuf, struct fuse_file_info *fi);