Windows File System Proxy - FUSE for Windows
OTHER License
Bot releases are hidden (Show)
Published by billziss-gh about 6 years ago
Control
file system operation allows sending custom control codes to the file system using the Windows DeviceIoControl
API. FUSE ioctl
is also supported.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.)Published by billziss-gh about 6 years ago
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.
fuse_daemonize
. This problem has been fixed in commit bef5ba7f3b65eeb34a95561ae9b6939e206ef68e, which will be included in the next beta.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.)Published by billziss-gh over 6 years ago
Published by billziss-gh over 6 years ago
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>
.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.
-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.
VolumeInfoTimeout
, DirInfoTimeout
complement the existing FileInfoTimeout
.Provides
dependency extension to provide a WinFsp
dependency key. (GitHub PR #129; thanks @felfert.)create_umask
option. (GitHub issue #138.)Published by billziss-gh over 6 years ago
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>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.
-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.
VolumeInfoTimeout
, DirInfoTimeout
complement the existing FileInfoTimeout
.Provides
dependency extension to provide a WinFsp
dependency key. (GitHub PR #129; thanks @felfert.)create_umask
option. (GitHub issue #138.)Published by billziss-gh over 6 years ago
FspLaunch
API. File systems can be started, stopped, queried and listed using FspLaunchStart
, FspLaunchStop
, FspLaunchGetInfo
and FspLaunchGetNameList
.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.Provides
dependency extension to provide a WinFsp
dependency key. (GitHub PR #129; thanks @felfert.)Published by billziss-gh almost 7 years ago
FspLaunch
API. File systems can be started, stopped, queried and listed using FspLaunchStart
, FspLaunchStop
, FspLaunchGetInfo
and FspLaunchGetNameList
.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.Provides
dependency extension to provide a WinFsp
dependency key. (GitHub PR #129; thanks @felfert.)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).
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.setcrtime
, setchgtime
. These can be used to set the creation (birth) time and change (ctime) time of a file.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
.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
.fsptool
allows command line access to some WinFsp features.Published by billziss-gh almost 7 years ago
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.setcrtime
, setchgtime
. These can be used to set the creation (birth) time and change (ctime) time of a file.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
.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
.fsptool
allows command line access to some WinFsp features.Published by billziss-gh almost 7 years ago
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.setcrtime
, setchgtime
. These can be used to set the creation (birth) time and change (ctime) time of a file.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
.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
.fsptool
allows command line access to some WinFsp features.Published by billziss-gh almost 7 years ago
fsptool
allows command line access to some WinFsp features.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
.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
.Published by billziss-gh about 7 years ago
fsptool
allows command line access to some WinFsp features.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.FspFileSystemOperationProcessId
API adds support for getting the originating process ID (PID) during Create
, Open
and Rename
calls.Published by billziss-gh over 7 years ago
Published by billziss-gh over 7 years ago
This release brings some major new components and improvements.
winfsp-msil.dll
. The new .NET layer is being tested with the WinFsp test suites and Microsoft's ifstest.-ovolname=VOLNAME
parameter that allows setting the volume label. Thanks @samkelly.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.
Published by billziss-gh over 7 years ago
NOTE: The current plan is for this prerelease to be the final beta before release of WinFsp 2017.1 (v1.1).
winfsp-msil.dll
. The new .NET layer is being tested with the WinFsp test suites and Microsoft's ifstest.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.]-ovolname=VOLNAME
parameter that allows setting the volume label. Thanks @samkelly.Published by billziss-gh over 7 years ago
winfsp-msil.dll
. The new .NET layer is being tested with the WinFsp test suites and Microsoft's ifstest.inc/winfsp/winfsp.hpp
.-ovolname=VOLNAME
parameter that allows setting the volume label. Thanks @samkelly.Published by billziss-gh over 7 years ago
winfsp-msil.dll
.inc/winfsp/winfsp.hpp
.-ovolname=VOLNAME
parameter that allows setting the volume label. Thanks @samkelly.Published by billziss-gh over 7 years ago
This is the WinFsp 2017 release! 🎉
2.0
). Incremental API changes will receive a minor version update (1.x
).choco install winfsp
(note: pending approval from chocolatey.org).-d
output now always goes to stderr. There is also a new -oDebugLog=FILE
switch to specify a debug output file.statfs
implementation if a file system does not provide one.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.Published by billziss-gh over 7 years ago
Published by billziss-gh over 7 years ago