Bill Zissimopoulos
61a8adc809
tst: ntptfs: ARM64 build
2022-01-06 17:02:14 +00:00
Bill Zissimopoulos
76ad6d6ac9
Merge branch 'pvt-arm64'
2022-01-06 16:47:53 +00:00
Bill Zissimopoulos
0621a545ed
doc: tutorial: add note about ntptfs
2022-01-06 16:38:47 +00:00
Bill Zissimopoulos
eff74d78f5
Merge branch 'pvt-ntptfs'
2022-01-06 16:34:13 +00:00
Bill Zissimopoulos
36a3f1e1bf
changelog: archive old log and change format to markdown
2022-01-06 16:32:34 +00:00
Bill Zissimopoulos
2fb2de067c
update changelog
2022-01-06 13:49:56 +00:00
Bill Zissimopoulos
27b52fd167
tst: ntptfs: new passthrough file system
2022-01-06 13:40:26 +00:00
Bill Zissimopoulos
423c70757c
build: version: WinFsp 2022
2021-12-29 23:06:36 +00:00
Bill Zissimopoulos
551ed341a7
build: version: 2022 Beta5
2021-12-20 14:57:13 +00:00
Bill Zissimopoulos
defa57fd94
build: fix broken version info
2021-12-17 00:03:37 +00:00
Bill Zissimopoulos
c4cc444b80
doc: WinFsp on ARM64
2021-12-16 21:41:31 +00:00
Bill Zissimopoulos
b2681ff9c8
tools: remove-build-arm64
2021-12-16 16:06:27 +00:00
Bill Zissimopoulos
3bcb025389
build: VStudio: build.common.props
2021-12-16 15:39:29 +00:00
Bill Zissimopoulos
3b19b125b7
build: VStudio: build.common.props
2021-12-16 14:31:44 +00:00
Bill Zissimopoulos
8f0b80f46c
build: VStudio: build.common.props
2021-12-16 14:18:52 +00:00
Bill Zissimopoulos
5a44f4a233
appveyor: use VS2015 to build post-ARM64
2021-12-16 11:35:38 +00:00
Bill Zissimopoulos
6ab1ed3b7f
tools: remove-all-arm64
...
Add script to remove ARM64 project configurations for builds on VS2015
2021-12-16 11:30:09 +00:00
Bill Zissimopoulos
52ffb47fee
build: fix broken version info
2021-12-08 10:37:33 +00:00
Bill Zissimopoulos
41cc70e573
ARM64: initial port
2021-12-07 14:40:28 +00:00
Bill Zissimopoulos
c208e0ecbd
sys: cache FileDesc->DispositionStatus
...
DeleteFileW and RemoveDirectoryW in recent versions of Windows 10 have
been changed to perform a FileDispositionInformationEx with POSIX
semantics and if that fails to retry with FileDispositionInformation.
Unfortunately this is done even for legitimate error codes such as
STATUS_DIRECTORY_NOT_EMPTY.
This means that user mode file systems have to do unnecessary CanDelete
checks even when they support FileDispositionInformationEx. The extra
check incurs extra context switches, and in some cases it may also be
costly to compute (e.g. FUSE).
We optimize this away by storing the status of the last CanDelete check
in the FileDesc and then continue returning the same status code for
all checks for the same FileDesc.
2021-12-04 12:36:12 +00:00
Bill Zissimopoulos
87389f010b
build: fix broken builds when FSD source changes
...
Turns out that the linker automatically creates .LIB and .EXP files
for all targets that export symbols (e.g. via __declspec(dllexport)).
The FSD now exports symbols for use by other kernel drivers; this
resulted in files like winfsp-x64.lib and winfsp-x64.exp to be
inadvertently created. Unfortunately this clashed with the files with
the same name created from building the DLL.
Since we only want the .LIB and .EXP files produced from the DLL, we
rename the .LIB and .EXP files produced from the FSD to a name that
does not clash. There does not seem to be any way to instruct the
linker to completely turn off .LIB and .EXP file generation for targets
that export symbols.
2021-12-04 08:36:54 +00:00
Bill Zissimopoulos
c32b1c19c2
sys: FspFsvolQueryDirectoryRetry: early exit when pattern not wild
2021-12-03 17:20:50 +00:00
Bill Zissimopoulos
8ce6836674
dll: FspFileSystemSearchDirectoryBuffer: fix #351
2021-12-03 14:47:19 +00:00
Bill Zissimopoulos
8ba8d31e50
changelog: v1.10B4 update
2021-11-26 10:34:33 +00:00
Bill Zissimopoulos
c1ab78e8e1
changelog: v1.10B4 update
2021-11-26 10:33:29 +00:00
Bill Zissimopoulos
ed404ee579
inc: winfsp.h: FspCleanupDelete: POSIX semantics
2021-11-25 12:18:43 +00:00
Bill Zissimopoulos
620ebd9e72
inc: winfsp.h: FspCleanupDelete: POSIX semantics
2021-11-25 12:14:48 +00:00
Bill Zissimopoulos
fc8d18e4de
doc: revert the Delete redesign
2021-11-25 11:51:29 +00:00
Bill Zissimopoulos
00219f29cf
sys: POSIX rename improvements
2021-11-25 10:35:22 +00:00
Bill Zissimopoulos
c4f994f8f6
sys: FspFsvolSetDispositionInformation
...
return STATUS_FILE_DELETED if file is already deleted
2021-11-24 18:31:48 +00:00
Bill Zissimopoulos
91211f6ccb
sys: reimplement POSIX unlink
2021-11-24 16:03:31 +00:00
Bill Zissimopoulos
666561bfa1
dll: revert the Delete redesign
2021-11-22 18:26:45 +00:00
Bill Zissimopoulos
4e94991221
dll: fuse: revert the Delete redesign
2021-11-22 14:46:57 +00:00
Bill Zissimopoulos
826a514fe3
dll: dotnet: revert the Delete redesign
2021-11-22 13:55:32 +00:00
Bill Zissimopoulos
a9d90acd71
tst: winfsp-tests: exec_delete_test
2021-11-20 10:53:57 +00:00
Bill Zissimopoulos
d72fe2ee33
sys: FspFsvolSetDispositionInformation: ignore FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK flag
2021-11-19 17:16:36 +00:00
Bill Zissimopoulos
e09042c028
changelog: update with v1.10B4 notes
2021-11-18 16:04:44 +00:00
Bill Zissimopoulos
6e13825dcc
build: bump version to WinFsp 2022 Beta4
2021-11-18 15:52:39 +00:00
Bill Zissimopoulos
cc90b5dd80
changelog: fix notes accidentally magnled in previous release
2021-11-18 15:51:19 +00:00
Bill Zissimopoulos
4b6d9b70d7
tools: run-tests: FUSE sample testing
...
- exclude reparse_symlink* on AppVeyor
2021-11-18 10:34:48 +00:00
Bill Zissimopoulos
1f68eb0f3d
tst: memfs-fuse: remove initializer designators
...
- allows this project to be built with VS2015
2021-11-17 22:17:07 +00:00
Bill Zissimopoulos
61c48ab417
tools: run-tests: fix ignored ERRORLEVEL
2021-11-17 15:19:29 +00:00
Bill Zissimopoulos
d7e49dfb20
tools: run-tests: add memfs-fuse testing
2021-11-17 13:51:18 +00:00
Bill Zissimopoulos
10c5fa6301
tools: run-tests: add memfs-fuse testing
2021-11-17 13:46:09 +00:00
Bill Zissimopoulos
368855676a
tools: run-tests: fix !time! retrieval
2021-11-14 13:01:56 +00:00
Bill Zissimopoulos
6fbe73ce4d
tools: run-tests.bat: fix parens escaping
2021-11-14 12:45:13 +00:00
Bill Zissimopoulos
e1763bcd10
tools: run-tests: add test duration
2021-11-14 11:35:20 +00:00
Bill Zissimopoulos
378beb55eb
dll: fuse: CheckSymlinkDirectory: optimization
2021-11-14 10:48:17 +00:00
Bill Zissimopoulos
14b212f9af
tst: winfsp-tests: remove symbol SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
2021-11-14 00:09:46 +00:00
Bill Zissimopoulos
cca8b32128
installer: add memfs-fuse sample
2021-11-13 23:37:34 +00:00
Bill Zissimopoulos
0b94e8bc6a
dll: fuse: multiple improvements and fixes
...
- Symlinks: Now supports conventing a directory into a symlink reparse
point.
- Symlinks: The determination of whether a symlink is a file or
directory is now possible for file systems that do not support slashdot
(/.) queries.
- EA: Now allows the removal of non-existant EA without error (this is
allowed on Windows).
2021-11-13 23:27:47 +00:00
Bill Zissimopoulos
ec3386c2b3
tst: winfsp-tests: add --fuse-external option
2021-11-13 10:15:12 +00:00
Bill Zissimopoulos
d67a917c6f
tst: memfs-fuse: add FUSE reference file system
2021-11-13 10:11:45 +00:00
Bill Zissimopoulos
2a86cd2c90
doc: WinFsp-Delete-Redesign: fix IRP_MJ_CLOSE doc link
2021-11-08 16:57:35 +00:00
Bill Zissimopoulos and GitHub
67c4011263
update README with reference to Windows 11
2021-11-08 16:20:16 +00:00
Bill Zissimopoulos
90d67bc07d
tools: build: sign cab file using SHA-256
2021-11-08 15:20:54 +00:00
Bill Zissimopoulos
70643f40a0
update changelog
2021-11-08 13:38:02 +00:00
Bill Zissimopoulos
366a9c562f
art: update with Win11 colors
2021-11-08 13:17:35 +00:00
Bill Zissimopoulos
d7a8b0d9fb
launcher: SvcInstanceStartWithArgvCopy: properly handle timeout condition
2021-10-31 12:35:30 +00:00
Bill Zissimopoulos
52dd6f7478
dll: fuse: FSP_FUSE_CAP_DELETE_ACCESS
2021-10-26 13:21:57 +01:00
Bill Zissimopoulos
73359d682b
dll: fuse: convert EPERM/EACCES from unlink/rmdir to STATUS_CANNOT_DELETE
2021-10-25 13:58:52 +01:00
Bill Zissimopoulos
2a3f1a3990
doc: update NTFS compatibility
2021-10-22 15:22:08 +01:00
Bill Zissimopoulos
e823103334
doc: update API documentation
2021-10-22 14:47:58 +01:00
Bill Zissimopoulos
1208c6c652
doc: fix code in WinFsp Delete Redesign document
2021-10-22 12:22:33 +01:00
Bill Zissimopoulos
b13b24e0b1
doc: add WinFsp Delete Redesign document
2021-10-22 12:15:16 +01:00
Bill Zissimopoulos
91aa0ac2d0
inc: winfsp.h: fix source doc for Delete
2021-10-22 11:39:05 +01:00
Bill Zissimopoulos
dcce0d44a7
build: bump version to 2021.1 Beta3
2021-10-21 21:52:18 +01:00
Bill Zissimopoulos
af257d4bff
tst: winfsp-tests: eliminate use of symbol FILE_SUPPORTS_POSIX_UNLINK_RENAME
2021-10-21 15:56:58 +01:00
Bill Zissimopoulos
9eaaefd154
sys,dll: debug support for DispositionEx, RenameEx
2021-10-21 15:54:38 +01:00
Bill Zissimopoulos
bb3e92df6c
sys, dll: implement POSIX semantics for Rename
2021-10-21 15:39:25 +01:00
Bill Zissimopoulos
76bfa395a8
dotnet: implement new Delete design and POSIX semantics
2021-10-20 12:23:14 +01:00
Bill Zissimopoulos
81248f3899
dotnet: FileSystemHost: zero-init allocations made using Marshal.AllocHGlobal
2021-10-20 09:04:20 +01:00
Bill Zissimopoulos
a4d7aee6f5
dll: fuse: implement new Delete design and POSIX semantics
2021-10-19 17:54:01 +01:00
Bill Zissimopoulos
19823d84de
sys,dll,inc: implement new Delete design and POSIX semantics
2021-10-19 15:23:15 +01:00
Bill Zissimopoulos
3e66082f11
sys: FspFsvolQueryDirectoryCopy: fix issue #380
2021-10-13 16:35:02 +01:00
Bill Zissimopoulos
490d021b22
dll: mount: MountDoNotUseLauncher registry setting
2021-08-11 16:27:29 +01:00
Bill Zissimopoulos
2d41693f3c
src: dotnet: fix newlines
2021-06-20 20:44:06 +03:00
Bill Zissimopoulos
068270fa7f
update changelog
2021-06-13 12:40:41 -07:00
Bill Zissimopoulos
f51bdef534
dll: fuse: fix path arg to release on Create error
...
When the kernel sends a `Create` message the WinFsp-FUSE layer creates
and opens the file (as per Windows semantics). Sometimes an additional
operation needs to be performed after the file has been opened, which
may fail. In this case the just opened file must be released.
In this particular case the WinFsp-FUSE layer used to call `release`
with an uninitialized path. This commit fixes the problem.
This problem was originally reported in cgofuse (billziss-gh/cgofuse#58 )
2021-06-09 10:17:59 -07:00
Bill Zissimopoulos
63f91cc667
build: bump version
2021-06-09 10:13:41 -07:00
Bill Zissimopoulos
6e3e469fcb
doc: update known file systems
2021-06-08 12:22:26 -07:00
Bill Zissimopoulos
efcc82b5dd
build: update version
2021-06-08 10:38:27 -07:00
Bill Zissimopoulos
cad5e68ac8
art: update logo
2021-06-01 13:49:00 -07:00
Bill Zissimopoulos
6e3a8f70b2
update source copyright to 2021
2021-05-21 15:57:05 -07:00
Bill Zissimopoulos
6bc0fe4ac5
art: update logo
2021-05-21 14:53:52 -07:00
Bill Zissimopoulos
07f097220f
changelog: update for v1.10B1
2021-05-21 11:41:35 -07:00
Bill Zissimopoulos
ca832988ed
dll,sys: fix issue #369
...
The original WinFsp protocol for shutting down a file system was to issue
an FSP_FSCTL_STOP control code to the fsctl device. This would set the IOQ
to the "stopped" state and would also cancel all active IRP's. Cancelation
of IRP's would sometimes free buffers that may have still been in use by
the user mode file system threads; hence access violation.
To fix this problem a new control code FSP_FSCTL_STOP0 is introduced. The
new file system shutdown protocol is backwards compatible with the original
one and works as follows:
- First the file system process issues an FSP_FSCTL_STOP0 control code which
sets the IOQ to the "stopped" state but does NOT cancel IRP's.
- Then the file system process waits for its dispatcher threads to complete
(see FspFileSystemStopDispatcher).
- Finally the file system process issues an FSP_FSCTL_STOP control code
which stops the (already stopped) IOQ and cancels all IRP's.
2021-05-18 12:30:17 -07:00
Bill Zissimopoulos and GitHub
23e401e312
Merge pull request #371 from lemourin/mingw-fix
...
inc: don't redeclare _FILE_FULL_EA_INFORMATION for mingw
2021-05-17 10:00:17 -07:00
Bill Zissimopoulos
a27994289d
art: update
2021-05-07 16:50:58 -07:00
Bill Zissimopoulos
3b10145e93
tst: winfsp-tests: disable new tests that fail on passthrough
2021-04-19 13:34:35 -07:00
Bill Zissimopoulos
33c6e7ee61
sys: fix issue #364
2021-04-16 16:43:34 -07:00
Bill Zissimopoulos
d0d67998c1
inc: fsctl.h: fix class guid's when used outside our build system
2021-04-13 15:33:57 -07:00
Bill Zissimopoulos
aa7888effc
tools: wixguid.py
2021-04-13 15:22:42 -07:00
Bill Zissimopoulos
3c7e712e57
tools: build.bat: skip choco build for non-WinFsp brands
2021-04-13 14:38:51 -07:00
Bill Zissimopoulos
f8ee12f592
build: fix inadvertently broken DLL build on VS2015
2021-04-12 22:07:04 -07:00
Bill Zissimopoulos
c84d47aa3e
doc: WinFsp rebranding document
2021-04-12 21:38:09 -07:00
Bill Zissimopoulos
023c925fb6
WinFsp rebranding support
2021-04-12 17:47:34 -07:00
Bill Zissimopoulos
a7cfabeff8
tools: add batch file that fixes issue #162
2021-04-08 15:00:55 -07:00
Bill Zissimopoulos
d4a70da611
Merge branch 'pvt-tsfix'
2021-04-08 14:06:52 -07:00
Bill Zissimopoulos
50892bfa19
shared: posix: DistinctPermsForSameOwnerGroup
2021-04-06 15:00:31 -07:00