-
Notifications
You must be signed in to change notification settings - Fork 200
Description
Right now you can only query the underlying file system type of a volume, and this does result in quite bad assumptions that users of this library make to try and deduce capabilities from that. (Example: https://github.com/moby/moby/blob/531be96bf9eceaaa94396e19fdee071f9cd04a4b/daemon/graphdriver/windows/windows.go#L99)
In addition to fs.GetFileSystemType, an abstraction around https://learn.microsoft.com/en-us/windows/win32/api/fltuser/nf-fltuser-filtervolumeinstancefindfirst should be provided that allows correctly enumerating the loaded filters on a volume.
For most purposes, even just providing the names of the loaded filter drivers should be enough for the user of this library to deduce if the volume is actually going to support a specific workload.
Developers recently have started becoming aware of the roles of filter drivers as a part of this documentation: https://learn.microsoft.com/en-us/windows/dev-drive/#allow-list-filter-examples