diff --git a/winfsp_wrs/src/file_system.rs b/winfsp_wrs/src/file_system.rs index 73fe92d..0193dde 100644 --- a/winfsp_wrs/src/file_system.rs +++ b/winfsp_wrs/src/file_system.rs @@ -324,6 +324,11 @@ pub struct FileSystem { phantom: PhantomData, } +// SAFETY: FSP_FILE_SYSTEM contains `*mut c_void` pointers that cannot be send between threads +// by default. However this structure is only used by WinFSP (and not exposed to the user) which +// is deep in C++ land where Rust safety rules do not apply. +unsafe impl Send for FileSystem {} + impl FileSystem { pub fn volume_params(&self) -> &VolumeParams { &self.params.volume_params