2749 Commits

Author SHA1 Message Date
Bill Zissimopoulos
fdd0f1deed
dll: np: NPGetUniversalName implementation 2022-02-03 13:51:22 +00:00
Bill Zissimopoulos
2fb2de067c
update changelog v1.10 2022-01-06 13:49:56 +00:00
Bill Zissimopoulos
423c70757c
build: version: WinFsp 2022 2021-12-29 23:06:36 +00:00
Bill Zissimopoulos
551ed341a7
build: version: 2022 Beta5 v1.10B5 2021-12-20 14:57:13 +00:00
Bill Zissimopoulos
52ffb47fee
build: fix broken version info 2021-12-08 10:37:33 +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
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