FspFileSystemNotify does not work in a subfolder.

41 views
Skip to first unread message

Ivan Krivenkov

unread,
May 1, 2024, 2:57:10 PM5/1/24
to WinFsp
Hi all,
I try to use FspFileSystemNotify but Explorer does not show a new folder in subfolders, only in the root of the mounted folder.

Succeeded case:
FspFileSystemNotifyBegin
FspFileSystemNotify("\one")
FspFileSystemNotifyEnd

Failed case:
FspFileSystemNotifyBegin
FspFileSystemNotify("\one\two")
FspFileSystemNotifyEnd

Disk mounted to folder (not separated disk).

Bill Zissimopoulos

unread,
May 1, 2024, 6:23:34 PM5/1/24
to Ivan Krivenkov, WinFsp

Hello:

 

Can you describe a bit more your scenario of how you are using the notification mechanism? I ask this question because the notification mechanism is only useful in the scenario of a network file system that wants to inform the local kernel of a remote change.

 

Windows provides the ReadDirectoryChangesW API to inform applications of file changes. The way this works is that whenever a directory/file is changed, the corresponding file system driver (e.g. NTFS, WinFsp, etc.) informs ReadDirectoryChangesW listeners of the change. This is supported for all WinFsp file systems and you do not need to do anything special in your file system to support this functionality.

 

Notice that the file system driver is only aware of file changes that happen via API’s in the local kernel. However in network file systems files may be changed remotely and without the local kernel’s participation. This is where the FspFileSystemNotify mechanism comes into play: it allows a network file system to inform the local kernel of a remote change.

 

Regarding the failure you are seeing: can you please give more details? For example, one common gotcha is that the file name you pass to FspFileSystemNotify is not properly normalized. Another is the misconception that ReadDirectoryChangesW reports fine-grained events, where in reality it is used as a coarse-grained reporting mechanism that something has changed.

 

Thanks.

 

Bill

 

 

--
You received this message because you are subscribed to the Google Groups "WinFsp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to winfsp+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/winfsp/4ca2c6d1-5f39-474f-9f28-9fc28db4f1efn%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages