cloud-hypervisor / fuse-backend-rs

Rust crate for implementing FUSE backends
Apache License 2.0
129 stars 63 forks source link

abi: Disable unsupported flags and functionality on MacOS #162

Closed griff closed 8 months ago

griff commented 8 months ago

MacFUSE is a fork of FUSE version 19 with its own custom flags that sometimes clash with later versions of FUSE. E.g. INIT_EXT flags clashes with MacFUSE flag VOL_RENAME.

So to avoid confussion this change disables all flags and hopefully all functionality not supported on MacOS. This applies both to MacFUSE and FUSE-T because FUSE-T is built to be compatible with MacFUSE and not upstream FUSE.

griff commented 8 months ago

I could also add the MacFUSE specific flags to this PR if you want them.

bergwolf commented 8 months ago

oh, that's a lot of #[cfg(not(target_os = "macos"))]. Does it make sense to split them into src/abi/fuse_abi_linux.rs and src/abi/fuse_abi_macos.rs? /cc @liubogithub @jiangliu

griff commented 8 months ago

@bergwolf That is really up to you. If you want it split I will split it.

bergwolf commented 8 months ago

@griff Please help to split it, thanks! I think it makes the code more clear.

jiangliu commented 8 months ago

oh, that's a lot of #[cfg(not(target_os = "macos"))]. Does it make sense to split them into src/abi/fuse_abi_linux.rs and src/abi/fuse_abi_macos.rs? /cc @liubogithub @jiangliu

It would better to split for archs.

griff commented 8 months ago

@griff Please help to split it, thanks! I think it makes the code more clear.

Done