winfsp

Windows File System Proxy - FUSE for Windows

OTHER License

Stars
6.5K

Bot releases are visible (Hide)

winfsp - WinFsp 2018.2 B3

Published by billziss-gh about 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.)
  • 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 an experimental fix for a Windows problem: that case-sensitive file systems do not work properly when mounted as directories. See the relevant FAQ entry.
  • The FSD includes a fix for an incompatibility with DrWeb Antivirus. (GitHub issue #192.)
winfsp - WinFsp 2018.2 B2

Published by billziss-gh about 6 years ago

THIS IS A PRE-RELEASE

  • This pre-release contains experimental FUSE 3.2 support. If you have a FUSE 3.2 file system I would love to hear your feedback.
  • This pre-release contains fundamental changes in how FUSE loops (fuse_loop and fuse_loop_mt) are run. If you are running a FUSE file system and you experience differences in behavior with prior versions of WinFsp, please open an issue to discuss.
    • NOTE: Turns out that the new FUSE loops broke fuse_daemonize. This problem has been fixed in commit bef5ba7f3b65eeb34a95561ae9b6939e206ef68e, which will be included in the next beta.
  • 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.
  • FlushAndPurgeOnCleanup has now been added to the .NET API. (GitHub PR #176; thanks @FrKaram.)
  • 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.)
winfsp - WinFsp 2018.2 B1

Published by billziss-gh over 6 years ago

THIS IS A PRE-RELEASE

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

CHANGES SINCE 2018.1

  • New Control file system operation allows sending custom control codes to the file system using the Windows DeviceIoControl API. FUSE ioctl is also supported.
winfsp - WinFsp 2018.1

Published by billziss-gh over 6 years ago

CHANGES SINCE 2017.2

  • Multiple Launcher changes:
    • New FspLaunch API. File systems can be started, stopped, queried and listed using FspLaunchStart, FspLaunchStop, FspLaunchGetInfo and FspLaunchGetNameList. The API is available in <winfsp/launch.h>.
    • New Launcher registry settings RunAs and WorkDirectory. RunAs allows the laucher to launch a file system process under the service accounts LocalService and NetworkService. WorkDirectory can be used to specify the work directory for a newly launched file system process.
  • FSP_FSCTL_VOLUME_PARAMS::FlushAndPurgeOnCleanup limits the time that Windows keeps files open after an application has closed them. This purges the cache on the last CloseHandle, which is a performance drawback.
    • This is now the default behavior on FUSE. To revert to the previous behavior of keeping files open indefinitely use -o KeepFileCache.
  • FSP_FSCTL_VOLUME_PARAMS has been extended with fine-grained timeouts: VolumeInfoTimeout, DirInfoTimeout, SecurityTimeout, StreamInfoTimeout. Set FSP_FSCTL_VOLUME_PARAMS::Version == sizeof(FSP_FSCTL_VOLUME_PARAMS) to access the new fields.
    • New FUSE optons VolumeInfoTimeout, DirInfoTimeout complement the existing FileInfoTimeout.
  • The FSD (File System Driver) and its interaction with the Windows MUP (Multiple UNC Provider) has been changed. In practice this eliminates the delays experienced when right-clicking on a WinFsp-backed network drive in the Windows Explorer. (GitHub issue #87.)
  • The WinFsp network provider is now added first in the provider order list. Previously it was added last. (GitHub PR #131; thanks @felfert.)
  • The WinFsp installer now uses the Wix Provides dependency extension to provide a WinFsp dependency key. (GitHub PR #129; thanks @felfert.)
  • New FUSE create_umask option. (GitHub issue #138.)
  • Fix C++ compilation error for WinFsp-FUSE. (GitHub PR #154; thanks @benrubson.)
winfsp - WinFsp 2018.1 B3

Published by billziss-gh over 6 years ago

THIS IS A PRE-RELEASE

  • This pre-release should be the last beta release before 2018.1.
  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.

CHANGES SINCE 2017.2

  • Multiple Launcher changes:
    • New FspLaunch API. File systems can be started, stopped, queried and listed using FspLaunchStart, FspLaunchStop, FspLaunchGetInfo and FspLaunchGetNameList. The API is available in <winfsp/launch.h>
    • New Launcher registry settings RunAs and WorkDirectory. RunAs allows the laucher to launch a file system process under the service accounts LocalService and NetworkService. WorkDirectory can be used to specify the work directory for a newly launched file system process.
  • FSP_FSCTL_VOLUME_PARAMS::FlushAndPurgeOnCleanup limits the time that Windows keeps files open after an application has closed them. This purges the cache on the last CloseHandle, which is a performance drawback.
    • This is now the default behavior on FUSE. To revert to the previous behavior of keeping files open indefinitely use -o KeepFileCache.
  • FSP_FSCTL_VOLUME_PARAMS has been extended with fine-grained timeouts: VolumeInfoTimeout, DirInfoTimeout, SecurityTimeout, StreamInfoTimeout. Set FSP_FSCTL_VOLUME_PARAMS::Version == sizeof(FSP_FSCTL_VOLUME_PARAMS) to access the new fields.
    • New FUSE optons VolumeInfoTimeout, DirInfoTimeout complement the existing FileInfoTimeout.
  • The FSD (File System Driver) and its interaction with the Windows MUP (Multiple UNC Provider) has been changed. In practice this eliminates the delays experienced when right-clicking on a WinFsp-backed network drive in the Windows Explorer. (GitHub issue #87.)
  • The WinFsp network provider is now added first in the provider order list. Previously it was added last. (GitHub PR #131; thanks @felfert.)
  • The WinFsp installer now uses the Wix Provides dependency extension to provide a WinFsp dependency key. (GitHub PR #129; thanks @felfert.)
  • New FUSE create_umask option. (GitHub issue #138.)
  • Fix C++ compilation error for WinFsp-FUSE. (GitHub PR #154; thanks @benrubson.)
  • NOTE: Prior 2018.1 betas run the MEMFS sample file systems under the LocalService account. This is no longer the case: going forward the MEMFS file systems will be running under the LocalSystem account (as in 2017.2).
winfsp - WinFsp 2018.1 B2

Published by billziss-gh over 6 years ago

THIS IS A PRE-RELEASE

  • This pre-release contains kernel-mode changes. While every precaution has been taken to ensure stability, it is recommended that this pre-release is only installed by developers and/or power users.
  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.

CHANGES SINCE 2017.2

  • Multiple Launcher changes:
    • New FspLaunch API. File systems can be started, stopped, queried and listed using FspLaunchStart, FspLaunchStop, FspLaunchGetInfo and FspLaunchGetNameList.
    • New Launcher registry settings RunAs and WorkDirectory. RunAs allows the laucher to launch a file system process under the service accounts LocalService and NetworkService. WorkDirectory can be used to specify the work directory for a newly launched file system process.
  • The MEMFS sample file systems are now launched under the LocalService account.
  • The FSD (File System Driver) and its interaction with the Windows MUP (Multiple UNC Provider) has been changed. In practice this eliminates the delays experienced when right-clicking on a WinFsp-backed network drive in the Windows Explorer. (GitHub issue #87.)
  • The WinFsp network provider is now added first in the provider order list. Previously it was added last. (GitHub PR #131; thanks @felfert.)
  • The WinFsp installer now uses the Wix Provides dependency extension to provide a WinFsp dependency key. (GitHub PR #129; thanks @felfert.)
winfsp - WinFsp 2018.1 B1

Published by billziss-gh almost 7 years ago

THIS IS A PRE-RELEASE

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

CHANGES SINCE 2017.2

  • The WinFsp Launcher can now be controlled by the new FspLaunch API. File systems can be started, stopped, queried and listed using FspLaunchStart, FspLaunchStop, FspLaunchGetInfo and FspLaunchGetNameList.
  • The WinFsp launcher now supports new registry settings RunAs and WorkDirectory. RunAs allows the laucher to launch a file system process under the service accounts LocalService and NetworkService. WorkDirectory can be used to specify the work directory for a newly launched file system process.
  • The MEMFS sample file systems are now launched under the LocalService account.
  • The WinFsp network provider is now added first in the provider order list. Previously it was added last. (GitHub PR #131; thanks @felfert.)
  • The WinFsp installer now uses the Wix Provides dependency extension to provide a WinFsp dependency key. (GitHub PR #129; thanks @felfert.)
winfsp - WinFsp 2017.2

Published by billziss-gh almost 7 years ago

This is the latest WinFsp 2017.2 release that also fixes a problem on Windows 7 (issue #127).

CHANGES SINCE 2017.1

  • WinFsp-FUSE now supports BSD flags (Windows file attributes) during getattr and fgetattr. It also adds the chflags operation. BSD flags support requires use of the FSP_FUSE_CAP_STAT_EX capability and the new struct fuse_stat_ex which includes an st_flags field. If the preprocessor macro FSP_FUSE_USE_STAT_EX is defined before inclusion of <fuse.h> then struct fuse_stat will also be defined to include the st_flags field.
  • WinFsp-FUSE also adds the following OSXFUSE operations: setcrtime, setchgtime. These can be used to set the creation (birth) time and change (ctime) time of a file.
  • New GetDirInfoByName file system operation adds fast queries of directory info by file name rather than pattern [e.g. FindFirstFileW(L"foobar", FindData)]. Tests with fsbench showed that such queries are sped up by an order of magnitude when using GetDirInfoByName in MEMFS. Case-sensitive FUSE file systems get this optimization for free. The .NET layer also adds GetDirInfoByName.
  • New FspFileSystemOperationProcessId API adds support for getting the originating process ID (PID) during Create, Open and Rename calls. FUSE file systems can now access fuse_context::pid. The .NET layer also adds GetOperationProcessId.
  • New command line tool fsptool allows command line access to some WinFsp features.
  • The WinFsp launcher now passes the name of the user who launched the file system as a special parameter %U. This is useful to file systems that use the launcher infrastructure, such as SSHFS-Win. [Please note that in earlier betas the user name was passed as parameter %3; the previous method was insecure and is no longer supported.]
  • Important GitHub issues fixed: #96, #97, #103, #107, #127
winfsp - WinFsp 2017.2

Published by billziss-gh almost 7 years ago

CHANGES SINCE 2017.1

  • WinFsp-FUSE now supports BSD flags (Windows file attributes) during getattr and fgetattr. It also adds the chflags operation. BSD flags support requires use of the FSP_FUSE_CAP_STAT_EX capability and the new struct fuse_stat_ex which includes an st_flags field. If the preprocessor macro FSP_FUSE_USE_STAT_EX is defined before inclusion of <fuse.h> then struct fuse_stat will also be defined to include the st_flags field.
  • WinFsp-FUSE also adds the following OSXFUSE operations: setcrtime, setchgtime. These can be used to set the creation (birth) time and change (ctime) time of a file.
  • New GetDirInfoByName file system operation adds fast queries of directory info by file name rather than pattern [e.g. FindFirstFileW(L"foobar", FindData)]. Tests with fsbench showed that such queries are sped up by an order of magnitude when using GetDirInfoByName in MEMFS. Case-sensitive FUSE file systems get this optimization for free. The .NET layer also adds GetDirInfoByName.
  • New FspFileSystemOperationProcessId API adds support for getting the originating process ID (PID) during Create, Open and Rename calls. FUSE file systems can now access fuse_context::pid. The .NET layer also adds GetOperationProcessId.
  • New command line tool fsptool allows command line access to some WinFsp features.
  • The WinFsp launcher now passes the name of the user who launched the file system as a special parameter %U. This is useful to file systems that use the launcher infrastructure, such as SSHFS-Win. [Please note that in earlier betas the user name was passed as parameter %3; the previous method was insecure and is no longer supported.]
  • Important GitHub issues fixed: #96, #97, #103, #107
winfsp - WinFsp 2017.2 B3

Published by billziss-gh almost 7 years ago

THIS IS A PRE-RELEASE

  • This pre-release will be the last beta before release of WinFsp 2017.2.
  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.

CHANGES SINCE 2017.1

  • WinFsp-FUSE now supports BSD flags (Windows file attributes) during getattr and fgetattr. It also adds the chflags operation. BSD flags support requires use of the FSP_FUSE_CAP_STAT_EX capability and the new struct fuse_stat_ex which includes an st_flags field. If the preprocessor macro FSP_FUSE_USE_STAT_EX is defined before inclusion of <fuse.h> then struct fuse_stat will also be defined to include the st_flags field.
  • WinFsp-FUSE also adds the following OSXFUSE operations: setcrtime, setchgtime. These can be used to set the creation (birth) time and change (ctime) time of a file.
  • New GetDirInfoByName file system operation adds fast queries of directory info by file name rather than pattern [e.g. FindFirstFileW(L"foobar", FindData)]. Tests with fsbench showed that such queries are sped up by an order of magnitude when using GetDirInfoByName in MEMFS. Case-sensitive FUSE file systems get this optimization for free. The .NET layer also adds GetDirInfoByName.
  • New FspFileSystemOperationProcessId API adds support for getting the originating process ID (PID) during Create, Open and Rename calls. FUSE file systems can now access fuse_context::pid. The .NET layer also adds GetOperationProcessId.
  • New command line tool fsptool allows command line access to some WinFsp features.
  • The WinFsp launcher now passes the username of the user who launched the file system as parameter %3. This is useful to file systems that use the launcher infrastructure, such as SSHFS-Win. [NOTE: this turns out to have some security issues. In the final 2017.2 release this is replaced by a special parameter %U that does not have security issues.]
  • Important GitHub issues fixed: #96, #97, #103, #107
winfsp - WinFsp 2017.2 B2

Published by billziss-gh almost 7 years ago

THIS IS A PRE-RELEASE

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

CHANGES SINCE 2017.1

  • New command line tool fsptool allows command line access to some WinFsp features.
  • New GetDirInfoByName file system operation adds fast queries of directory info by file name rather than pattern [e.g. FindFirstFileW(L"foobar", FindData)]. Tests with fsbench showed that such queries are sped up by an order of magnitude when using GetDirInfoByName in MEMFS. Case-sensitive FUSE file systems get this optimization for free. The .NET layer also adds GetDirInfoByName.
  • New FspFileSystemOperationProcessId API adds support for getting the originating process ID (PID) during Create, Open and Rename calls. FUSE file systems can now access fuse_context::pid. The .NET layer also adds GetOperationProcessId.
  • Important GitHub issues fixed: #96, #97, #103, #107
winfsp - WinFsp 2017.2 B1

Published by billziss-gh about 7 years ago

THIS IS A PRE-RELEASE

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

CHANGES SINCE 2017.1

  • New command line tool fsptool allows command line access to some WinFsp features.
  • New GetDirInfoByName file system operation adds fast queries of directory info by file name rather than pattern [e.g. FindFirstFileW("foobar", FindData)]. Tests with fsbench showed that such queries are sped up by an order of magnitude when using GetDirInfoByName in MEMFS.
  • New FspFileSystemOperationProcessId API adds support for getting the originating process ID (PID) during Create, Open and Rename calls.
winfsp - WinFsp 2017.1; issue #96

Published by billziss-gh over 7 years ago

THIS IS A PRE-RELEASE

  • This pre-release contains a fix for GitHub issue #96.
  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.
winfsp - WinFsp 2017.1

Published by billziss-gh over 7 years ago

This release brings some major new components and improvements.

  • A .NET layer that allows the creation of file systems in managed mode. This is contained in the new winfsp-msil.dll. The new .NET layer is being tested with the WinFsp test suites and Microsoft's ifstest.
  • FUSE for Cygwin is now included with the installer.
  • FUSE now has a -ovolname=VOLNAME parameter that allows setting the volume label. Thanks @samkelly.
  • A number of other FUSE improvements have been made (see issue #85).

NOTE: The included .NET layer requires .NET Framework v3.5 or higher to be installed (included by default in Windows 7 or higher). However the memfs-dotnet and passthrough-dotnet samples require .NET Framework v4.5 and will therefore not run on computers that do not have this framework installed!

NOTE: The C++ layer included in the v1.1 beta releases is not part of this release as it is still work in progress. It can be found in inc/winfsp/winfsp.hpp in the WinFsp source repository.

winfsp - WinFsp 2017.1 B3

Published by billziss-gh over 7 years ago

THIS IS A PRE-RELEASE

  • The API is backwards compatible, but may not be forwards compatible. For example, API design flaws and bugs may be fixed in a forwards-incompatible manner.
  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016. Only final releases have signed drivers for all OS'es (including Server 2016).

NOTE: The current plan is for this prerelease to be the final beta before release of WinFsp 2017.1 (v1.1).

Changes from WinFsp 2017

  • A .NET layer that allows the creation of file systems in managed mode. This is contained in the new winfsp-msil.dll. The new .NET layer is being tested with the WinFsp test suites and Microsoft's ifstest.
  • A simple C++ layer can be found in inc/winfsp/winfsp.hpp. [NOTE: The current plan is for the C++ layer to not be included in the final WinFsp 2017.1 release, because it is not finalized yet. It will however be available in the source repository.]
  • FUSE for Cygwin is now included with the installer.
  • FUSE now has a -ovolname=VOLNAME parameter that allows setting the volume label. Thanks @samkelly.
winfsp - WinFsp 2017.1 B2

Published by billziss-gh over 7 years ago

THIS IS A PRE-RELEASE

  • The API is backwards compatible, but may not be forwards compatible. For example, API design flaws and bugs may be fixed in a forwards-incompatible manner.
  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016. Only final releases have signed drivers for all OS'es (including Server 2016).

Changes from WinFsp 2017

  • A .NET layer that allows the creation of file systems in managed mode. This is contained in the new winfsp-msil.dll. The new .NET layer is being tested with the WinFsp test suites and Microsoft's ifstest.
  • A simple C++ layer can be found in inc/winfsp/winfsp.hpp.
  • FUSE for Cygwin is now included with the installer.
  • FUSE now has a -ovolname=VOLNAME parameter that allows setting the volume label. Thanks @samkelly.
winfsp - WinFsp 2017.1 BETA

Published by billziss-gh over 7 years ago

THIS IS A PRE-RELEASE

  • The API is backwards compatible, but may not be forwards compatible. For example, API design flaws and bugs may be fixed in a forwards-incompatible manner.
  • This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016. Only final releases have signed drivers for all OS'es (including Server 2016).

Changes from WinFsp 2017

  • A .NET layer that allows the creation of file systems in managed mode. This is contained in the new winfsp-msil.dll.
  • A simple C++ layer can be found in inc/winfsp/winfsp.hpp.
  • FUSE for Cygwin is now included with the installer.
  • FUSE now has a -ovolname=VOLNAME parameter that allows setting the volume label. Thanks @samkelly.
winfsp - WinFsp 2017

Published by billziss-gh over 7 years ago

This is the WinFsp 2017 release! 🎉

  • The API is now FROZEN. Breaking API changes will receive a major version update (2.0). Incremental API changes will receive a minor version update (1.x).
  • Adds chocolatey package. Try choco install winfsp (note: pending approval from chocolatey.org).
  • FUSE -d output now always goes to stderr. There is also a new -oDebugLog=FILE switch to specify a debug output file.
  • FUSE now provides a default statfs implementation if a file system does not provide one.
  • The WinFsp DLL now exports fuse_* symbols in addition to the fsp_fuse_* symbols. These symbols are for use with programs that use FFI technology such as jnr-fuse and fusepy ONLY. They are not supposed to be used by native C/C++ programs. Such programs are supposed to include the <fuse.h> headers.
winfsp - WinFsp 2017 RC3

Published by billziss-gh over 7 years ago

winfsp - WinFsp 2017 RC2

Published by billziss-gh over 7 years ago

Package Rankings
Top 4.58% on Proxy.golang.org