Are fuse_mount
and fuse3_mount
blocking?
#440
-
When not relying on fuse = fuse_new(&args, op, op_size, user_data);
se = fuse_get_session(fuse);
fuse_set_signal_handlers(se);
fuse_mount(se, mountpoint);
fuse_daemonize(fg);
if (mt)
fuse_loop_mt(fuse);
else
fuse_loop(fuse);
fuse_remove_signal_handlers(se);
fuse_unmount(se);
fuse_destroy(fuse); We noticed some timing-related issues with WinFSP right after Therefore, I'd like to ask, whether |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
Your observation re: Although I do not remember the full reasons for this, I believe this was necessary because of the differences between the UNIX and Windows mounting approaches. Looking at the code I realize that there is no reliable indicator that the file system mount point has been created in WinFsp-FUSE. This is because the Can you perhaps describe the reason that you need to know when the in-kernel file system and/or mount point is created (these are two separate events on Windows)? Perhaps I can suggest an alternative solution to the problem. |
Beta Was this translation helpful? Give feedback.
Your observation re:
fuse_mount
is correct. The mountpoint is not ready when this function returns. The mountpoint is created within thefuse_loop
(orfuse_loop_mt
) functions.Although I do not remember the full reasons for this, I believe this was necessary because of the differences between the UNIX and Windows mounting approaches.
Looking at the code I realize that there is no reliable indicator that the file system mount point has been created in WinFsp-FUSE. This is because the
init
call also happens before the actual (in-kernel) file system is created (some of the information gathered byinit
and subsequentstatfs
calls, etc. is used to initialize the in-kernel file system).init