Commit Graph
100 Commits
Author SHA1 Message Date
Bill Zissimopoulos dd907a44ad dll: fuse: ensure MaxComponentLength is initialized 2022-04-25 17:41:42 +01:00
Bill Zissimopoulos df4c19c113 sys: FSP_FILE_NODE_NO_PGIO 2022-04-19 15:21:54 +01:00
Bill Zissimopoulos deaf475861 sys: FSP_ENTER_FIO: handle bogus fast I/O to fsctl device 2022-04-19 14:29:29 +01:00
Bill Zissimopoulos bda0477a79 tst: fsbench: --empty-cache option 2022-04-19 10:21:31 +01:00
Bill Zissimopoulos 4b65871747 changelog: update for 2022+ARM64 Beta2 2022-04-13 16:57:36 +01:00
Bill Zissimopoulos eaa0d7d7d2 tst: passthrough-fuse: ensure WinFsp DLL loaded 2022-04-12 23:26:18 +01:00
Bill Zissimopoulos facbc2c1b5 tst: passthrough-fuse: getpath: GetFinalPathNameByHandle 2022-04-12 18:21:19 +01:00
Bill Zissimopoulos e5879a9cb0 dll: fuse: getpath 2022-04-12 15:44:54 +01:00
Bill Zissimopoulos 0a91292e05 tst: ntptfs: PostDispositionWhenNecessaryOnly 2022-04-02 18:11:54 +01:00
Bill Zissimopoulos 1a879e3302 inc, src: PostDispositionWhenNecessaryOnly
- Rename PostDispositionForDirOnly to PostDispositionWhenNecessaryOnly

- Implement PostDispositionWhenNecessaryOnly across the board
2022-04-02 12:48:35 +01:00
Bill Zissimopoulos 98421fe11b inc,sys,tst: fsctl: PostDispositionForDirOnly 2022-04-01 20:54:54 +01:00
Bill Zissimopoulos f6fef97a10 changelog: update for 2022+ARM64 Beta2 2022-03-30 18:22:54 +01:00
Bill Zissimopoulos f0931a0cf2 tools: wpr-test.bat 2022-03-30 18:06:59 +01:00
Bill Zissimopoulos 9ecb6541cf tools: vsvarsall.bat: cleanup and restrict to VS2019 2022-03-25 20:40:19 +00:00
Bill Zissimopoulos d816d607f4 sys: FspFsvolDeviceDirInfoCacheItemSizeMax: increase to 64K 2022-03-24 18:10:04 +00:00
Bill Zissimopoulos f3df3f6dd2 build: version: bump to 2022+ARM64 Beta2 2022-03-22 19:12:55 +00:00
Bill Zissimopoulos 7527155cb8 dll: dirbuf:
- FspFileSystemAcquireDirectoryBufferEx takes hint for initial capacity.
- Buffer allocation strategy has been improved to minimize reallocation.
- Quick sort of directory entries now implements median of three partitioning. This improves performance of sorting already sorted data.
2022-03-22 16:47:40 +00:00
Bill Zissimopoulos 868812d248 tools: run-all-perf-tests.bat 2022-03-21 16:11:02 +00:00
Bill Zissimopoulos 20680fa5b5 sys: FastIo: read/write implementation 2022-03-20 20:31:54 +00:00
Bill Zissimopoulos 00d4aba946 github: winfsp org 2022-03-02 18:01:21 +00:00
Bill Zissimopoulos fadcd84ca9 winfsp.dev website 2022-03-02 17:36:14 +00:00
Bill Zissimopoulos 966e08e7c1 appveyor: winfsp.dev 2022-03-02 16:38:37 +00:00
Bill Zissimopoulos 8d83d46e7f build.version.props: MyCrossCert, MyCertIssuer 2022-02-24 13:20:21 +00:00
Bill Zissimopoulos cdcd6af81d tools: run-tests: ntptfs: accommodate OS version differences 2022-02-11 11:12:59 +00:00
Bill Zissimopoulos 9567b94d37 tools: run-tests: ntptfs: accommodate OS version differences 2022-02-10 14:08:17 +00:00
Bill Zissimopoulos 50a28c4284 tools: run-tests: ntptfs: accommodate OS version differences 2022-02-10 10:30:31 +00:00
Bill Zissimopoulos 87a1d5468d tools: run-tests: ntptfs: enable rename_mmap_test 2022-02-09 17:42:37 +00:00
Bill Zissimopoulos fda950b90e appveyor: enable VS2017 build 2022-02-09 17:02:16 +00:00
Bill Zissimopoulos 4ccf0d2085 build: allow builds outside git 2022-02-09 17:01:32 +00:00
Bill Zissimopoulos 2c42dc535c tools: winfsp-winpe.bat 2022-02-07 17:57:50 +00:00
Bill Zissimopoulos 84ab502b98 doc: update known file systems 2022-02-03 16:42:19 +00:00
Bill Zissimopoulos 0c90a69b27 dotnet: Interop.cs: fix newlines 2022-02-03 16:15:24 +00:00
Bill Zissimopoulos 2ed46a39fa tools: build-choco.bat: copy from build.bat 2022-02-03 16:08:54 +00:00
Bill Zissimopoulos cf13cac438 dll: np: NPGetUniversalName implementation 2022-02-03 15:32:35 +00:00
Bill Zissimopoulos 025e42e046 tst: run-tests: cleanup 2022-01-27 16:52:36 +00:00
Bill Zissimopoulos c4807bd7c9 tools: run-tests: match test names using "starts with" 2022-01-27 16:19:53 +00:00
Bill Zissimopoulos 71db03b0d3 tst: winfsp-tests: ResilientNtCreateFile 2022-01-27 13:03:54 +00:00
Bill Zissimopoulos 98f9921413 appveyor: enable skip_tags, RDP, disable fast_finish 2022-01-27 12:14:51 +00:00
Bill Zissimopoulos d82caabb47 tools: run-tests: ntptfs: ifstest 2022-01-26 19:03:54 +00:00
Bill Zissimopoulos 172056b51e tst: ntptfs: NtQueryDirectoryFile workaround comment 2022-01-26 09:18:16 +00:00
Bill Zissimopoulos f7ba091364 tst: ntptfs: guard against potential NtQueryDirectoryFile wonkiness 2022-01-26 08:59:48 +00:00
Bill Zissimopoulos 1ad13aebdb tst: ntptfs: workaround for NtQueryDirectoryFile on WOW64 2022-01-26 00:12:13 +00:00
Bill Zissimopoulos 83e59f33fc appveyor: disable VS2017 that has expired license 2022-01-25 14:44:57 +00:00
Bill Zissimopoulos b011bad5c0 tools: run-tests: ntptfs 2022-01-25 14:43:54 +00:00
Bill Zissimopoulos 290bc0d4c9 tst: ntptfs: ACCESS_SYSTEM_SECURITY 2022-01-22 00:07:28 +00:00
Bill Zissimopoulos 4de72f7c32 tst: ntptfs: SetEa: ensure that FileInfo is filled 2022-01-21 18:38:37 +00:00
Bill Zissimopoulos cb98f711f7 tst: ntptfs: fix ea size for NTFS compatibility 2022-01-21 18:35:24 +00:00
Bill Zissimopoulos c306a52d19 tst: ntptfs: fix Rename on versions of the OS without POSIX rename 2022-01-21 17:42:22 +00:00
Bill Zissimopoulos 627ad8be8c tst: ptfs: eliminate FILE_SUPPORTS_POSIX_UNLINK_RENAME 2022-01-21 17:07:32 +00:00
Bill Zissimopoulos 42f534bee8 installer: ntptfs: add missing ptfs.h header 2022-01-21 17:07:23 +00:00
Bill Zissimopoulos 48d599edf7 tools: run-tests: ntptfs testing 2022-01-21 16:35:31 +00:00
Bill Zissimopoulos eaa5fa8043 tst: ntptfs: ExtraFeatures 2022-01-21 16:24:42 +00:00
Bill Zissimopoulos 1ef85d5d3a tst: ntptfs: SetAllocationSizeOnCleanup 2022-01-21 16:00:52 +00:00
Bill Zissimopoulos f28902dd7b tst: ntptfs: WslFeatures 2022-01-21 14:29:42 +00:00
Bill Zissimopoulos 13810e94fc build: rename version.properties to build.version.props 2022-01-21 13:44:27 +00:00
Bill Zissimopoulos 7bd122a8db tst: ntptfs: rename project files 2022-01-21 13:33:12 +00:00
Bill Zissimopoulos c43ce26a1b doc: WinFsp-on-ARM64: add info on memory barrier changes 2022-01-19 17:06:17 +00:00
Bill Zissimopoulos 29251dc2be sys, dll: convert memory barriers to interlocked operations 2022-01-19 10:55:46 +00:00
Bill Zissimopoulos 362b9ceb7c inc: fsctl.h: atomics 2022-01-17 14:33:34 +00:00
Bill Zissimopoulos 04c2f0120c sys: remove wait group (Wgroup) functionality 2022-01-17 14:30:06 +00:00
Bill Zissimopoulos a3b98634de tst: winfsp-tests: notify_multiple_end_test 2022-01-15 15:55:00 +00:00
Bill Zissimopoulos 228f1d658d sys: FspVolumeNotify: allow multiple outstanding calls to FspFileSystemNotifyBegin 2022-01-15 15:46:56 +00:00
Bill Zissimopoulos 73f587e674 tools: run-tests: fixes for appveyor vs2019 image 2022-01-13 19:44:22 +00:00
Bill Zissimopoulos 545184da66 tlib: report last error on ASSERT failure 2022-01-13 19:42:05 +00:00
Bill Zissimopoulos e2bf834ff1 tools: run-tests: fixes for appveyor vs2019 image 2022-01-13 13:40:29 +00:00
Bill Zissimopoulos 57fce78ff3 sys: FspVolumeNotifyWork: always acquire the rename lock shared 2022-01-12 15:43:05 +00:00
Bill Zissimopoulos 24e6f1a2f6 Merge branch 'pvt-gauntlet-vs2019' into pvt-gauntlet-merge 2022-01-08 09:51:41 +00:00
Bill Zissimopoulos 6720dfacbc workflows: avm: update files to check 2022-01-07 18:13:04 +00:00
Bill Zissimopoulos dc5862c2a2 update changelog 2022-01-07 18:03:48 +00:00
Bill Zissimopoulos 30d09b4a11 shared: DistinctPermsForSameOwnerGroup: change default to TRUE 2022-01-07 17:50:20 +00:00
Bill Zissimopoulos e9808a4373 update changelog 2022-01-07 17:44:27 +00:00
Bill Zissimopoulos 751eaa69df update source copyright to 2022 2022-01-07 17:30:49 +00:00
Bill Zissimopoulos aa644b4c7a installer: add ntptfs sample 2022-01-06 17:14:46 +00:00
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 b8038604d1 tst: winfsp-tests: disable delete_ex_test and rename_ex_test on shares
These tests fail on Server 2019. This is not a WinFsp problem.
2021-12-18 10:20:15 +00:00
Bill Zissimopoulos 38a8a4c2d2 tools: run-tests.bat: ifstest: disable SetPointIoReparseDataInvalidTest
This test succeeds on Server 2012 and fails on Server 2016/2019.
Investigation on Server 2019 showed that the FSCTL_SET_REPARSE_POINT
input buffer length was 23 instead of less than
REPARSE_DATA_BUFFER_HEADER_SIZE(==8) like ifstest claims. This
suggests that WinFsp is not the problem here, but perhaps some OS
changes between Server 2012 and Server 2016. NOTE that we are still
using the ifstest from Server 2012 HCK, which may account for the
difference.
2021-12-17 21:47:43 +00:00
Bill Zissimopoulos fbd7036efa appveyor: gauntlet: VS2017 support 2021-12-17 12:52:32 +00:00
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