1
0
mirror of https://github.com/winfsp/winfsp.git synced 2026-04-28 09:29:16 -05:00
Commit Graph

3056 Commits

Author SHA1 Message Date
Bill Zissimopoulos c8ff0d4c88 appveyor: gauntlet 2021-12-17 12:00:26 +00:00
Bill Zissimopoulos 1cf40caedc appveyor: gauntlet 2021-12-17 00:36:21 +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 v1.10B4 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 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 v1.10B3 2021-11-08 15:20:54 +00:00
Bill Zissimopoulos 70643f40a0 update changelog 2021-11-08 13:38:02 +00:00