winfsp

Windows File System Proxy - FUSE for Windows

OTHER License

Stars
6.5K

Bot releases are visible (Hide)

winfsp - WinFsp 2021

Published by billziss-gh over 3 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020.2

  • [NEW] WinFsp now supports file change notifications and cache invalidations. This functionality is offered via the following new API's:

    • Native API: FspFileSystemNotify
    • FUSE API: fuse_notify
    • .NET API: FileSystemHost.Notify. (Some fixes to the .NET API functionality were contributed by @alonsohki. Thank you.)
  • [NEW] A native file system (notifyfs) and a .NET file system (notifyfs-dotnet) have been added to showcase the new file change notification API.

  • [NEW] A new WinFsp-FUSE option FileSecurity has been added that allows the complete specification of file security descriptors using SDDL. (See GitHub issue https://github.com/rclone/rclone/issues/4717#issuecomment-767723287.)

  • [FIX] The FSD now correctly handles a rare situation where receiving too many CLOSE calls from the OS (e.g. when caching thousands of files) could result in a bogus "insufficient resources" error. (See commit 0af0bfbe7c45e353d693a2a45965d99fa81f2163.)

  • [FIX] WinFsp-FUSE correctly maps SID's from trusted domains to POSIX UID's in a multi-domain environment (using the "trustPosixOffset" attribute). Previously WinFsp-FUSE only handled SID's from the primary domain correctly.

  • [FIX] WinFsp-FUSE options such as volname, VolumePrefix, FileSystemName, ExactFileSystemName are now truncated when too long. (See GitHub issue #311.)

  • [FIX] The WinFsp driver is now started in a thread-safe manner if it is not already running. (See GitHub issue billziss-gh/cgofuse#51.)

  • [FIX] Credentials entered in the Credentials dialog (when mapping network drives) are no longer saved by default. (See GitHub PR #342. Thanks @gaotxg.)

winfsp - WinFsp 2021 Beta2

Published by billziss-gh over 3 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020.2

  • [NEW] WinFsp now supports file change notifications and cache invalidations. This functionality is offered via the following new API's:

    • Native API: FspFileSystemNotify
    • FUSE API: fuse_notify
    • .NET API: FileSystemHost.Notify. (Some fixes to the .NET API functionality were contributed by @alonsohki. Thank you.)
  • [NEW] A native file system (notifyfs) and a .NET file system (notifyfs-dotnet) have been added to showcase the new file change notification API.

  • [NEW] A new WinFsp-FUSE option FileSecurity has been added that allows the complete specification of file security descriptors using SDDL. (See GitHub issue https://github.com/rclone/rclone/issues/4717#issuecomment-767723287.)

  • [FIX] The FSD now correctly handles a rare situation where receiving too many CLOSE calls from the OS (e.g. when caching thousands of files) could result in a bogus "insufficient resources" error. (See commit 0af0bfbe7c45e353d693a2a45965d99fa81f2163.)

  • [FIX] WinFsp-FUSE correctly maps SID's from trusted domains to POSIX UID's in a multi-domain environment (using the "trustPosixOffset" attribute). Previously WinFsp-FUSE only handled SID's from the primary domain correctly.

  • [FIX] WinFsp-FUSE options such as volname, VolumePrefix, FileSystemName, ExactFileSystemName are now truncated when too long. (See GitHub issue #311.)

  • [FIX] The WinFsp driver is now started in a thread-safe manner if it is not already running. (See GitHub issue billziss-gh/cgofuse#51.)

  • [FIX] Credentials entered in the Credentials dialog (when mapping network drives) are no longer saved by default. (See GitHub PR #342. Thanks @gaotxg.)

winfsp - WinFsp 2021 Beta1

Published by billziss-gh almost 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020.2

  • [NEW] WinFsp now supports file change notifications and cache invalidations. This functionality is offered via the following new API's:

    • Native API: FspFileSystemNotify
    • FUSE API: fuse_notify
    • .NET API: FileSystemHost.Notify
  • [FIX] WinFsp-FUSE correctly maps SID's from trusted domains to POSIX UID's in a multi-domain environment (using the "trustPosixOffset" attribute). Previously WinFsp-FUSE only handled SID's from the primary domain correctly.

winfsp - WinFsp 2020.2

Published by billziss-gh almost 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020.1

  • [FSD] WinFsp now supports Windows containers. See the WinFsp Container Support document for details.

  • [FSD] The FSP_FSCTL_QUERY_WINFSP code provides a simple method to determine if the file system backing a file is a WinFsp file system. To use issue a:

    DeviceIoControl(Handle, FSP_FSCTL_QUERY_WINFSP, 0, 0, 0, 0, &Bytes, 0)
        // If the return value is TRUE this is a WinFsp file system.
    
  • [FSD] A fix regarding concurrency of READs on the same file: WinFsp was supposed to allow concurrent READ requests on the same file (e.g. two concurrent overlapped ReadFile requests on the same HANDLE) to be handled concurrently by the file system; unfortunately due to a problem in recent versions of WinFsp READ requests on the same file were serialized. This problem has now been fixed. See GitHub issue #291 for more details.

    • NOTE: It may be that some file system was inadvertently relying on WinFsp's implicit serialization of READs in this case. Please test your file system thoroughly against this version, especially with regard to READ serialization. Related XKCD: https://imgs.xkcd.com/comics/workflow.png
  • [FSD] When renaming files or directories NTFS allows the target name to contain a backslash at the end (even for files!) whereas WinFsp did not. This problem has been fixed and a test has been added in winfsp-tests.

winfsp - WinFsp 2020.2 Beta3

Published by billziss-gh about 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020.1

  • [FSD] WinFsp now supports Windows containers. See the WinFsp Container Support document for details.

  • [FSD] The FSP_FSCTL_QUERY_WINFSP code provides a simple method to determine if the file system backing a file is a WinFsp file system. To use issue a:

    DeviceIoControl(Handle, FSP_FSCTL_QUERY_WINFSP, 0, 0, 0, 0, &Bytes, 0)
        // If the return value is TRUE this is a WinFsp file system.
    
  • [FSD] A fix regarding concurrency of READs on the same file: WinFsp was supposed to allow concurrent READ requests on the same file (e.g. two concurrent overlapped ReadFile requests on the same HANDLE) to be handled concurrently by the file system; unfortunately due to a problem in recent versions of WinFsp READ requests on the same file were serialized. This problem has now been fixed. See GitHub issue #291 for more details.

    • NOTE: It may be that some file system was inadvertently relying on WinFsp's implicit serialization of READs in this case. Please test your file system thoroughly against this version, especially with regard to READ serialization. Related XKCD: https://imgs.xkcd.com/comics/workflow.png
  • [FSD] When renaming files or directories NTFS allows the target name to contain a backslash at the end (even for files!) whereas WinFsp did not. This problem has been fixed and a test has been added in winfsp-tests.

winfsp - WinFsp 2020.2 Beta2

Published by billziss-gh about 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020.1

  • [FSD] WinFsp now supports Windows containers. See the WinFsp Container Support document for details.

  • [FSD] The FSP_FSCTL_QUERY_WINFSP code provides a simple method to determine if the file system backing a file is a WinFsp file system. To use issue a:

    DeviceIoControl(Handle, FSP_FSCTL_QUERY_WINFSP, 0, 0, 0, 0, &Bytes, 0)
        // If the return value is TRUE this is a WinFsp file system.
    
  • [FSD] A fix regarding concurrency of READs on the same file: WinFsp was supposed to allow concurrent READ requests on the same file (e.g. two concurrent overlapped ReadFile requests on the same HANDLE) to be handled concurrently by the file system; unfortunately due to a problem in recent versions of WinFsp READ requests on the same file were serialized. This problem has now been fixed. See GitHub issue #291 for more details.

    • NOTE: It may be that some file system was inadvertently relying on WinFsp's implicit serialization of READs in this case. Please test your file system thoroughly against this version, especially with regard to READ serialization. Related XKCD: https://imgs.xkcd.com/comics/workflow.png
winfsp - WinFsp 2020.2 Beta1

Published by billziss-gh over 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020.1

  • [FSD] WinFsp now supports Windows containers. See the WinFsp Container Support document for details.
  • [FSD] The FSP_FSCTL_QUERY_WINFSP code provides a simple method to determine if the file system backing a file is a WinFsp file system. To use issue a:
    DeviceIoControl(Handle, FSP_FSCTL_QUERY_WINFSP, 0, 0, 0, 0, &Bytes, 0)
        // If the return value is TRUE this is a WinFsp file system.
    
winfsp - WinFsp 2020.1

Published by billziss-gh over 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020

  • [FUSE] FUSE invalid directory entries no longer break the entire directory listing. Such invalid directory entries are logged. (GitHub PR #292.)
  • [LAUNCH] The Launcher can now restart file systems that have crashed. Set Recovery=1 in the file system's registry entry.
  • [LAUNCH] The Launcher can now redirect file system standard error output. Set Stderr=PATH in the file system's registry entry.
  • [FIX] Work around a problem in CreateProcess/CreateSection that allowed a faulty or malicious file system to bugcheck Windows.
  • [FIX] Work around an incompatibility with Avast Antivirus.
    • Native and .NET file systems that experience this problem should set the flag RejectIrpPriorToTransact0 in FSP_FSCTL_VOLUME_PARAMS to 1. This is only required when mounting on a directory with Avast Antivirus present.
    • FUSE file systems do not need to do anything special as this flag is always enabled.
  • [FIX] Fix junction (mount point reparse point) handling. (GitHub issue #269.)
winfsp - WinFsp 2020.1 B2

Published by billziss-gh over 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020

  • [FUSE] FUSE invalid directory entries no longer break the entire directory listing. Such invalid directory entries are logged. (GitHub PR #292.)
  • [LAUNCH] The Launcher can now restart file systems that have crashed. Set Recovery=1 in the file system's registry entry.
  • [LAUNCH] The Launcher can now redirect file system standard error output. Set Stderr=PATH in the file system's registry entry.
  • [FIX] Work around a problem in CreateProcess/CreateSection that allowed a faulty or malicious file system to bugcheck Windows.
  • [FIX] Work around an incompatibility with Avast Antivirus.
    • Native and .NET file systems that experience this problem should set the flag RejectIrpPriorToTransact0 in FSP_FSCTL_VOLUME_PARAMS to 1. This is only required when mounting on a directory with Avast Antivirus present.
    • FUSE file systems do not need to do anything special as this flag is always enabled.
  • [FIX] Fix junction (mount point reparse point) handling. (GitHub issue #269.)
winfsp - WinFsp 2020.1 B1

Published by billziss-gh over 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE WINFSP 2020

  • [FIX] Work around an incompatibility with Avast Antivirus. (GitHub issue #221.)
    • File systems that experience this problem should set the flag RejectIrpPriorToTransact0 in FSP_FSCTL_VOLUME_PARAMS to 1. This is only required when mounting on a directory with Avast Antivirus present.
  • [FIX] Fix junction (mount point reparse point) handling. (GitHub issue #269.)
winfsp - WinFsp 2020

Published by billziss-gh over 4 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE 2019.3:

  • [FIX] Do no pass O_APPEND flag to FUSE file systems, which would result in data corruption under some circumstances. (See PR #272. Thanks @pfrejo.)
  • [FIX] Fix how rename target directories are opened (use FILE_DIRECTORY_FILE). (See PR #270. Thanks @hammerg.)
winfsp - WinFsp 2019.3

Published by billziss-gh almost 5 years ago

Download WinFsp

VirusTotal Scan Results

CHANGES SINCE 2019.2

  • This release supports the new WinFuse kernel driver!
  • [GEN] WinFsp file systems can now be used by WSLinux. File systems must enable this support by setting the FSP_FSCTL_VOLUME_PARAMS::WslFeatures bit. Use the command sudo mount -t drvfs x: /mnt/x to mount.
  • [GEN] Extended attribute support has been added for all WinFsp API's: native, .NET, FUSE2 and FUSE3.
  • [GEN] Mount Manager support has been added and it works for current and new file systems:
    • If the file system mountpoint is in the syntax \\.\X: then the Mount Manager is used.
    • If the file system mountpoint is in the syntax X: then DefineDosDeviceW is used (i.e. same as today).
    • If the file system mountpoint is in the syntax X:\DIR then a reparse point is used and the file system is mounted as a directory (i.e. same as today).
    • Caveats:
      • It requires Administrator access. This is because opening the \\.\MountPointManager device requires Administrator access.
      • It currently works with drives (\\.\X:) but not directories (\\.\X:\DIR).
      • Mount Manager drives created by WinFsp are transient. WinFsp takes various steps to ensure that this is the case.
      • Mount Manager drives are global and are visible across Terminal Services sessions (they go into the \GLOBAL?? portion of the NT namespace).
  • [FSD] Support for kernel-mode file systems on top of WinFsp has been added. See FspFsextProvider. This is in preparation for WinFuse - FUSE for Windows and WSLinux.
  • [FSD] FastIO support has been added. FastIO operations are enabled on cache-enabled file systems with the notable exception of FastIoQueryOpen, which allows opening files in kernel mode; this operation requires the file system to specify the FSP_FSCTL_VOLUME_PARAMS::AllowOpenInKernelMode flag.
  • [FSD] Support for FileFsSectorSizeInformation and IOCTL_STORAGE_QUERY_PROPERTY / StorageAccessAlignmentProperty has been added.
  • [DLL] The FspFileSystemStartDispatcher default number of threads (ThreadCount==0) has been changed. See commit 3902874ac93fe40685d9761f46a96358ba24f24c for more.
  • [FUSE] FUSE has new -o UserName=DOMAIN+USERNAME and -o GroupName=DOMAIN+GROUPNAME options. These function like the -o uid=UID and -o gid=GID options, but accept Windows user and groups names.
  • [FUSE] FUSE has new -o dothidden option that is used to add the Windows hidden file attribute to files that start with a dot.
  • [FUSE] FUSE has new -o create_file_umask=nnn and -o create_dir_umask=nnn options that allow for more control than the -o create_umask=nnn option.
  • [FUSE] FUSE has new --ExactFileSystemName=FSNAME option that removes the "FUSE-" prefix from the file system name. (Use with caution: see discussion in PR #251.) (Thanks @johntyner.)
  • [.NET] The .NET API now supports asynchronous handling of Read, Write and ReadDirectory. (Thanks @dworkin.)
  • [.NET] The .NET API now supports fine-grained timeouts (VolumeInfoTimeout, DirInfoTimeout, etc).
  • [.NET] The .NET API has new method FileSystemHost.MountEx that adds a ThreadCount parameter.
  • [LAUNCH] The Launcher can now rewrite path arguments passed to file systems during launching using "Path Transformation Language". See commit a73f1b95592617ac7484e16c2e642573a4d65644 for more.
  • [MEMFS] A new memfs FUSE3 file system written in C++ has been added. See tst/memfs-fuse3.
  • [AIRFS] John Oberschelp has done some fantastic work adding persistence to the airfs file system. (Thanks @JohnOberschelp.)
  • [FIX] Fixes for very large (> 4GiB) files. (Thanks @dworkin.)
  • [FIX] A fix for how FUSE handles the return value from opendir. (GitHub issue billziss-gh/sshfs-win#54)
  • [FIX] A fix for an invalid UID to SID mapping on domains with a lot of users. (Thanks @sganis.)
  • [FIX] A fix on the C++ layer. (Thanks @colatkinson.)
  • Other fixes and improvements.
winfsp - WinFsp 2019.3 B5

Published by billziss-gh almost 5 years ago

Download WinFsp

  • This release supports the new WinFuse kernel driver!
  • [GEN] WinFsp file systems can now be used by WSLinux. File systems must enable this support by setting the FSP_FSCTL_VOLUME_PARAMS::WslFeatures bit. Use the command sudo mount -t drvfs x: /mnt/x to mount.
  • [GEN] Extended attribute support has been added for all WinFsp API's: native, .NET, FUSE2 and FUSE3.
  • [GEN] Mount Manager support has been added and it works for current and new file systems:
    • If the file system mountpoint is in the syntax \\.\X: then the Mount Manager is used.
    • If the file system mountpoint is in the syntax X: then DefineDosDeviceW is used (i.e. same as today).
    • If the file system mountpoint is in the syntax X:\DIR then a reparse point is used and the file system is mounted as a directory (i.e. same as today).
    • Caveats:
      • It requires Administrator access. This is because opening the \\.\MountPointManager device requires Administrator access.
      • It currently works with drives (\\.\X:) but not directories (\\.\X:\DIR).
      • Mount Manager drives created by WinFsp are transient. WinFsp takes various steps to ensure that this is the case.
      • Mount Manager drives are global and are visible across Terminal Services sessions (they go into the \GLOBAL?? portion of the NT namespace).
  • [FSD] Support for kernel-mode file systems on top of WinFsp has been added. See FspFsextProvider. This is in preparation for WinFuse - FUSE for Windows and WSLinux.
  • [FSD] FastIO support has been added. FastIO operations are enabled on cache-enabled file systems with the notable exception of FastIoQueryOpen, which allows opening files in kernel mode; this operation requires the file system to specify the FSP_FSCTL_VOLUME_PARAMS::AllowOpenInKernelMode flag.
  • [FSD] Support for FileFsSectorSizeInformation and IOCTL_STORAGE_QUERY_PROPERTY / StorageAccessAlignmentProperty has been added.
  • [DLL] The FspFileSystemStartDispatcher default number of threads (ThreadCount==0) has been changed. See commit 3902874ac93fe40685d9761f46a96358ba24f24c for more.
  • [FUSE] FUSE has new -o UserName=DOMAIN+USERNAME and -o GroupName=DOMAIN+GROUPNAME options. These function like the -o uid=UID and -o gid=GID options, but accept Windows user and groups names.
  • [FUSE] FUSE has new -o dothidden option that is used to add the Windows hidden file attribute to files that start with a dot.
  • [FUSE] FUSE has new -o create_file_umask=nnn and -o create_dir_umask=nnn options that allow for more control than the -o create_umask=nnn option.
  • [FUSE] FUSE has new --ExactFileSystemName=FSNAME option that removes the "FUSE-" prefix from the file system name. (Use with caution: see discussion in PR #251.) (Thanks @johntyner.)
  • [.NET] The .NET API now supports asynchronous handling of Read, Write and ReadDirectory. (Thanks @dworkin.)
  • [.NET] The .NET API now supports fine-grained timeouts (VolumeInfoTimeout, DirInfoTimeout, etc).
  • [.NET] The .NET API has new method FileSystemHost.MountEx that adds a ThreadCount parameter.
  • [LAUNCH] The Launcher can now rewrite path arguments passed to file systems during launching using "Path Transformation Language". See commit a73f1b95592617ac7484e16c2e642573a4d65644 for more.
  • [MEMFS] A new memfs FUSE3 file system written in C++ has been added. See tst/memfs-fuse3.
  • [AIRFS] John Oberschelp has done some fantastic work adding persistence to the airfs file system. (Thanks @JohnOberschelp.)
  • [FIX] Fixes for very large (> 4GiB) files. (Thanks @dworkin.)
  • [FIX] A fix for how FUSE handles the return value from opendir. (GitHub issue billziss-gh/sshfs-win#54)
  • [FIX] A fix for an invalid UID to SID mapping on domains with a lot of users. (Thanks @sganis.)
  • [FIX] A fix on the C++ layer. (Thanks @colatkinson.)
  • Other fixes and improvements.
winfsp - WinFsp 2019.3 B4

Published by billziss-gh almost 5 years ago

Download WinFsp

  • [GEN] WinFsp file systems can now be used by WSLinux. File systems must enable this support by setting the FSP_FSCTL_VOLUME_PARAMS::WslFeatures bit. Use the command sudo mount -t drvfs x: /mnt/x to mount.
  • [GEN] Extended attribute support has been added for all WinFsp API's: native, .NET, FUSE2 and FUSE3.
  • [GEN] Mount Manager support has been added and it works for current and new file systems:
    • If the file system mountpoint is in the syntax \\.\X: then the Mount Manager is used.
    • If the file system mountpoint is in the syntax X: then DefineDosDeviceW is used (i.e. same as today).
    • If the file system mountpoint is in the syntax X:\DIR then a reparse point is used and the file system is mounted as a directory (i.e. same as today).
    • Caveats:
      • It requires Administrator access. This is because opening the \\.\MountPointManager device requires Administrator access.
      • It currently works with drives (\\.\X:) but not directories (\\.\X:\DIR).
      • Mount Manager drives created by WinFsp are transient. WinFsp takes various steps to ensure that this is the case.
      • Mount Manager drives are global and are visible across Terminal Services sessions (they go into the \GLOBAL?? portion of the NT namespace).
  • [FSD] Support for kernel-mode file systems on top of WinFsp has been added. See FspFsextProvider. This is in preparation for WinFuse - FUSE for Windows and WSLinux.
  • [FSD] FastIO support has been added. FastIO operations are enabled on cache-enabled file systems with the notable exception of FastIoQueryOpen, which allows opening files in kernel mode; this operation requires the file system to specify the FSP_FSCTL_VOLUME_PARAMS::AllowOpenInKernelMode flag.
  • [FSD] Support for FileFsSectorSizeInformation and IOCTL_STORAGE_QUERY_PROPERTY / StorageAccessAlignmentProperty has been added.
  • [DLL] The FspFileSystemStartDispatcher default number of threads (ThreadCount==0) has been changed. See commit 3902874ac93fe40685d9761f46a96358ba24f24c for more.
  • [FUSE] FUSE has new -o UserName=DOMAIN+USERNAME and -o GroupName=DOMAIN+GROUPNAME options. These function like the -o uid=UID and -o gid=GID options, but accept Windows user and groups names.
  • [FUSE] FUSE has new -o dothidden option that is used to add the Windows hidden file attribute to files that start with a dot.
  • [FUSE] FUSE has new -o create_file_umask=nnn and -o create_dir_umask=nnn options that allow for more control than the -o create_umask=nnn option.
  • [FUSE] FUSE has new --ExactFileSystemName=FSNAME option that removes the "FUSE-" prefix from the file system name. (Use with caution: see discussion in PR #251.) (Thanks @johntyner.)
  • [.NET] The .NET API now supports asynchronous handling of Read, Write and ReadDirectory. (Thanks @dworkin.)
  • [.NET] The .NET API now supports fine-grained timeouts (VolumeInfoTimeout, DirInfoTimeout, etc).
  • [.NET] The .NET API has new method FileSystemHost.MountEx that adds a ThreadCount parameter.
  • [LAUNCH] The Launcher can now rewrite path arguments passed to file systems during launching using "Path Transformation Language". See commit a73f1b95592617ac7484e16c2e642573a4d65644 for more.
  • [MEMFS] A new memfs FUSE3 file system written in C++ has been added. See tst/memfs-fuse3.
  • [AIRFS] John Oberschelp has done some fantastic work adding persistence to the airfs file system. (Thanks @JohnOberschelp.)
  • [FIX] Fixes for very large (> 4GiB) files. (Thanks @dworkin.)
  • [FIX] A fix for how FUSE handles the return value from opendir. (GitHub issue billziss-gh/sshfs-win#54)
  • [FIX] A fix for an invalid UID to SID mapping on domains with a lot of users. (Thanks @sganis.)
  • [FIX] A fix on the C++ layer. (Thanks @colatkinson.)
  • Other fixes and improvements.
winfsp - WinFsp 2019.3 B3

Published by billziss-gh almost 5 years ago

Download WinFsp

THIS IS A PRE-RELEASE

  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.

CHANGES SINCE 2019.2

Changes since v1.4:

  • [GEN] WinFsp file systems can now be used by WSLinux. Use the command sudo mount -t drvfs x: /mnt/x to mount.
  • [GEN] Extended attribute support has been added for all WinFsp API's: native, .NET, FUSE2 and FUSE3.
  • [GEN] Mount Manager support has been added and it works for current and new file systems:
    • If the file system mountpoint is in the syntax \\.\X: then the Mount Manager is used.
    • If the file system mountpoint is in the syntax X: then DefineDosDeviceW is used (i.e. same as previous versions).
    • If the file system mountpoint is in the syntax X:\DIR then a reparse point is used and the file system is mounted as a directory (i.e. same as previous versions).
    • Caveats:
      • It requires Administrator access. This is because opening the \\.\MountPointManager device requires Administrator access.
      • It currently works with drives (\\.\X:) but not directories (\\.\X:\DIR).
      • Mount Manager drives created by WinFsp are transient. WinFsp takes various steps to ensure that this is the case.
      • Mount Manager drives are global and are visible across Terminal Services sessions (they go into the \GLOBAL?? portion of the NT namespace).
  • [FSD] Support for kernel-mode file systems on top of WinFsp has been added. See FspFsextProvider. This is in preparation for WinFuse - FUSE for Windows and WSLinux.
  • [FSD] FastIO support has been added. FastIO operations are enabled on cache-enabled file systems with the notable exception of FastIoQueryOpen, which allows opening files in kernel mode; this operation requires the file system to specify the FSP_FSCTL_VOLUME_PARAMS::AllowOpenInKernelMode flag.
  • [FSD] Support for FileFsSectorSizeInformation and IOCTL_STORAGE_QUERY_PROPERTY / StorageAccessAlignmentProperty has been added.
  • [DLL] The FspFileSystemStartDispatcher default number of threads (ThreadCount==0) has been changed. See commit 3902874ac93fe40685d9761f46a96358ba24f24c for more.
  • [FUSE] FUSE has new -o UserName=DOMAIN+USERNAME and -o GroupName=DOMAIN+GROUPNAME options. These function like the -o uid=UID and -o gid=GID options, but accept Windows user and groups names.
  • [FUSE] FUSE has new -o dothidden option that is used to add the Windows hidden file attribute to files that start with a dot.
  • [FUSE] FUSE has new -o create_file_umask=nnn and -o create_dir_umask=nnn options that allow for more control than the -o create_umask=nnn option.
  • [FUSE] FUSE has new --ExactFileSystemName=FSNAME option that removes the "FUSE-" prefix from the file system name. (Use with caution: see discussion in PR #251.) (Thanks @johntyner.)
  • [.NET] The .NET API now supports asynchronous handling of Read, Write and ReadDirectory. (Thanks @dworkin.)
  • [.NET] The .NET API now supports fine-grained timeouts (VolumeInfoTimeout, DirInfoTimeout, etc).
  • [.NET] The .NET API has new method FileSystemHost.MountEx that adds a ThreadCount parameter.
  • [LAUNCH] The Launcher can now rewrite path arguments passed to file systems during launching using "Path Transformation Language". See commit a73f1b95592617ac7484e16c2e642573a4d65644 for more.
  • [MEMFS] A new memfs FUSE3 file system written in C++ has been added. See tst/memfs-fuse3.
  • [AIRFS] John Oberschelp has done some fantastic work adding persistence to the airfs file system. (Thanks @JohnOberschelp.)
  • [FIX] Fixes for very large (> 4GiB) files. (Thanks @dworkin.)
  • [FIX] A fix for how FUSE handles the return value from opendir. (GitHub issue billziss-gh/sshfs-win#54)
  • [FIX] A fix for an invalid UID to SID mapping on domains with a lot of users. (Thanks @sganis.)
  • [FIX] A fix on the C++ layer. (Thanks @colatkinson.)
  • Other fixes and improvements.
winfsp - WinFsp 2019.3 B2

Published by billziss-gh over 5 years ago

THIS IS A PRE-RELEASE

  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.

CHANGES SINCE 2019.2

  • [GEN] WinFsp file systems can now be used by WSLinux. Use the command sudo mount -t drvfs x: /mnt/x to mount.
  • [GEN] Extended attribute support has been added for all WinFsp API's: native, .NET, FUSE2 and FUSE3.
  • [FSD] Support for kernel-mode file systems on top of WinFsp has been added. See FspFsextProvider. This is in preparation for WinFuse - FUSE for Windows and WSLinux.
  • [FSD] FastIO support has been added. FastIO operations are enabled on cache-enabled file systems with the notable exception of FastIoQueryOpen, which allows opening files in kernel mode; this operation requires the file system to specify the FSP_FSCTL_VOLUME_PARAMS::AllowOpenInKernelMode flag.
  • [DLL] The FspFileSystemStartDispatcher default number of threads (ThreadCount==0) has been changed. See commit 3902874ac93fe40685d9761f46a96358ba24f24c for more.
  • [FUSE] FUSE has new -o UserName=DOMAIN\USERNAME and -o GroupName=DOMAIN\GROUPNAME options. These function like the -o uid=UID and -o gid=GID options, but accept Windows user and groups names.
  • [FUSE] FUSE has new -o dothidden option that is used to add the Windows hidden file attribute to files that start with a dot.
  • [FUSE] FUSE has new -o create_file_umask=nnn and -o create_dir_umask=nnn options that allow for more control than the -o create_umask=nnn option.
  • [.NET] The .NET API now supports asynchronous handling of Read, Write and ReadDirectory. (Thanks @dworkin.)
  • [.NET] The .NET API now supports fine-grained timeouts (VolumeInfoTimeout, DirInfoTimeout, etc).
  • [.NET] The .NET API has new method FileSystemHost.MountEx that adds a ThreadCount parameter.
  • [LAUNCH] The Launcher can now rewrite path arguments passed to file systems during launching using "Path Transformation Language". See commit a73f1b95592617ac7484e16c2e642573a4d65644 for more.
  • [FIX] Fixes for very large (> 4GiB) files. (Thanks @dworkin.)
  • [FIX] A fix for how FUSE handles the return value from opendir. (GitHub issue billziss-gh/sshfs-win#54)
  • [FIX] A fix for an invalid UID to SID mapping on domains with a lot of users. (Thanks @sganis.)
  • [FIX] A fix on the C++ layer. (Thanks @colatkinson.)
  • Other fixes and improvements.
winfsp - WinFsp 2019.3 B1

Published by billziss-gh over 5 years ago

THIS IS A PRE-RELEASE

  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.

CHANGES SINCE 2019.2

  • Extended attribute support has been added for all WinFsp API's: native, .NET, FUSE2 and FUSE3.
  • Initial FastIO support has been added. FastIO operations are enabled on cache-enabled file systems with the notable exception of FastIoQueryOpen, which allows opening files in kernel mode; this operation requires the file system to specify the FSP_FSCTL_VOLUME_PARAMS::AllowOpenInKernelMode flag.
  • Fixes for very large (> 4GiB) files. (Thanks @dworkin.)
  • A fix for an invalid UID to SID mapping on domains with a lot of users. (Thanks @sganis.)
  • A fix on the C++ layer. (Thanks @colatkinson.)
winfsp - WinFsp 2019.2

Published by billziss-gh over 5 years ago

Download WinFsp

CHANGES SINCE 2019.1

  • The FUSE layer includes a fix for the ioctl operation. (GitHub PR #214. Thanks @felfert.)

CHANGES SINCE 2018.1

  • FUSE3 API (version 3.2) is now available. The FUSE2 API (version 2.8) also remains supported.
  • New Control file system operation allows sending custom control codes to the file system using the Windows DeviceIoControl API. FUSE ioctl is also supported.
  • New SetDelete file system operation can optionally be used instead of CanDelete. SetDelete or CanDelete are used to handle the file "disposition" flag, which determines if a file is marked for deletion. See the relevant documentation for more details.
  • FlushAndPurgeOnCleanup has now been added to the .NET API. (GitHub PR #176; thanks @FrKaram.)
  • The Launcher now supports running file systems under the user account that started them. Use RunAs="." in the file system registry entry.
  • New sample file system "airfs" contributed by @JohnOberschelp. Airfs is an in-memory file system like Memfs on which it is based on; it has received substantial improvements in how the file name space is maintained and has been modified to use modern C++ techniques by John.
  • New sample file system "passthrough-fuse3" passes all operations to an underlying file system. This file system is built using the FUSE3 API. It builds and runs on both Windows and Cygwin.
  • The FUSE layer now supports multiple file systems within a single process. This is a long standing problem that has been fixed. (GitHub issue #135.)
  • The FSD includes a fix for a Windows problem: that case-sensitive file systems do not work properly when mounted as directories. See FAQ entry 3.
  • The FSD includes a fix for a rare but serious problem. (GitHub issue #177. Thanks @thinkport.)
  • The FSD includes a fix for an incompatibility with DrWeb Antivirus. (GitHub issue #192)
  • The DLL includes a fix for an errorenous STATUS_ACCESS_DENIED on read-only directories. (GitHub issue #190. Thanks @alfaunits.)
winfsp - WinFsp 2019.1

Published by billziss-gh almost 6 years ago

CHANGES SINCE 2018.1

  • FUSE3 API (version 3.2) is now available. The FUSE2 API (version 2.8) also remains supported.
  • New Control file system operation allows sending custom control codes to the file system using the Windows DeviceIoControl API. FUSE ioctl is also supported.
  • New SetDelete file system operation can optionally be used instead of CanDelete. SetDelete or CanDelete are used to handle the file "disposition" flag, which determines if a file is marked for deletion. See the relevant documentation for more details.
  • FlushAndPurgeOnCleanup has now been added to the .NET API. (GitHub PR #176; thanks @FrKaram.)
  • The Launcher now supports running file systems under the user account that started them. Use RunAs="." in the file system registry entry.
  • New sample file system "airfs" contributed by @JohnOberschelp. Airfs is an in-memory file system like Memfs on which it is based on; it has received substantial improvements in how the file name space is maintained and has been modified to use modern C++ techniques by John.
  • New sample file system "passthrough-fuse3" passes all operations to an underlying file system. This file system is built using the FUSE3 API. It builds and runs on both Windows and Cygwin.
  • The FUSE layer now supports multiple file systems within a single process. This is a long standing problem that has been fixed. (GitHub issue #135.)
  • The FSD includes a fix for a Windows problem: that case-sensitive file systems do not work properly when mounted as directories. See FAQ entry 3.
  • The FSD includes a fix for a rare but serious problem. (GitHub issue #177. Thanks @thinkport.)
  • The FSD includes a fix for an incompatibility with DrWeb Antivirus. (GitHub issue #192)
  • The DLL includes a fix for an errorenous STATUS_ACCESS_DENIED on read-only directories. (GitHub issue #190. Thanks @alfaunits.)
winfsp - WinFsp 2018.2 B4

Published by billziss-gh almost 6 years ago

THIS IS A PRE-RELEASE

  • This pre-release contains FUSE 3.2 support. If you have a FUSE 3.2 file system I would love to hear your feedback.
  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.

CHANGES SINCE 2018.1

  • FUSE3 API (version 3.2) is now available. The FUSE2 API (version 2.8) also remains supported.
  • New Control file system operation allows sending custom control codes to the file system using the Windows DeviceIoControl API. FUSE ioctl is also supported.
  • New SetDelete file system operation can optionally be used instead of CanDelete. SetDelete or CanDelete are used to handle the file "disposition" flag, which determines if a file is marked for deletion. See the relevant documentation for more details.
  • FlushAndPurgeOnCleanup has now been added to the .NET API. (GitHub PR #176; thanks @FrKaram.)
  • The Launcher now supports running file systems under the user account that started them. Use RunAs="." in the file system registry entry.
  • New sample file system "airfs" contributed by @JohnOberschelp. Airfs is an in-memory file system like Memfs on which it is based on; it has received substantial improvements in how the file name space is maintained and has been modified to use modern C++ techniques by John.
  • New sample file system "passthrough-fuse3" passes all operations to an underlying file system. This file system is built using the FUSE3 API. It builds and runs on both Windows and Cygwin.
  • The FUSE layer now supports multiple file systems within a single process. This is a long standing problem that has been fixed. (GitHub issue #135.)
  • The FSD includes a fix for a Windows problem: that case-sensitive file systems do not work properly when mounted as directories. See FAQ entry 3.
  • The FSD includes a fix for a rare but serious problem. (GitHub issue #177. Thanks @thinkport.)
  • The FSD includes a fix for an incompatibility with DrWeb Antivirus. (GitHub issue #192)
  • The DLL includes a fix for an errorenous STATUS_ACCESS_DENIED on read-only directories. (GitHub issue #190. Thanks @alfaunits.)
Package Rankings
Top 4.58% on Proxy.golang.org