Commit Graph

398 Commits

Author SHA1 Message Date
dbaee25ed2 fix: Add missing string.h import in winfsp_fuse.h
Signed-off-by: Naoki Ikeguchi <me@s6n.jp>
2024-09-10 01:02:29 +09:00
7551193ad7 update source copyright to 2024 2024-01-08 12:38:44 +00:00
de321620fd dll: FspFsctlServiceVersion as public API 2023-08-30 11:17:09 +01:00
3aadaee511 dll: FspFileSystemStopServiceIfNecessary 2023-02-01 17:42:11 +00:00
2fc2c237d3 dll: FspFsctlEnumServices 2022-09-10 16:23:14 +01:00
adeed2b79d fsptool: ver, unload commands 2022-08-21 07:59:28 +01:00
9670caa3fe sys,dll: FSP_FSCTL_UNLOAD 2022-08-18 11:05:45 +01:00
f1cfe758ec sys: RejectIrpPriorToTransact0 is always 1 2022-06-29 15:08:34 +01:00
a731f0e5d8 sys,dll: MountUseMountmgrFromFSD 2022-06-27 17:28:24 +01:00
c343253718 inc: fuse: FSP_FUSE_HAS_GETPATH 2022-05-25 21:11:28 +01:00
74bb51ae07 shared: posix: FspPosixSetUidMap 2022-05-19 00:50:38 +01:00
43af829d46 sys,dll,inc: FSP_IOCTL_TRANSACT 2022-05-16 21:40:01 +01:00
e5879a9cb0 dll: fuse: getpath 2022-04-12 15:44:54 +01:00
1a879e3302 inc, src: PostDispositionWhenNecessaryOnly
- Rename PostDispositionForDirOnly to PostDispositionWhenNecessaryOnly

- Implement PostDispositionWhenNecessaryOnly across the board
2022-04-02 12:48:35 +01:00
98421fe11b inc,sys,tst: fsctl: PostDispositionForDirOnly 2022-04-01 20:54:54 +01:00
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
29251dc2be sys, dll: convert memory barriers to interlocked operations 2022-01-19 10:55:46 +00:00
362b9ceb7c inc: fsctl.h: atomics 2022-01-17 14:33:34 +00:00
751eaa69df update source copyright to 2022 2022-01-07 17:30:49 +00:00
41cc70e573 ARM64: initial port 2021-12-07 14:40:28 +00:00
ed404ee579 inc: winfsp.h: FspCleanupDelete: POSIX semantics 2021-11-25 12:18:43 +00:00
620ebd9e72 inc: winfsp.h: FspCleanupDelete: POSIX semantics 2021-11-25 12:14:48 +00:00
666561bfa1 dll: revert the Delete redesign 2021-11-22 18:26:45 +00:00
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
52dd6f7478 dll: fuse: FSP_FUSE_CAP_DELETE_ACCESS 2021-10-26 13:21:57 +01:00
91aa0ac2d0 inc: winfsp.h: fix source doc for Delete 2021-10-22 11:39:05 +01:00
bb3e92df6c sys, dll: implement POSIX semantics for Rename 2021-10-21 15:39:25 +01:00
19823d84de sys,dll,inc: implement new Delete design and POSIX semantics 2021-10-19 15:23:15 +01:00
6e3a8f70b2 update source copyright to 2021 2021-05-21 15:57:05 -07:00
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
f62aa00a1e inc: don't redeclare _FILE_FULL_EA_INFORMATION for mingw
mingw-w64 declares _FILE_FULL_EA_INFORMATION since Jan 18, 2010 [1].

The change allows the winfsp client library to be consumed by projects built with mingw.

[1]: afd1465722
2021-05-14 14:08:02 +02:00
d0d67998c1 inc: fsctl.h: fix class guid's when used outside our build system 2021-04-13 15:33:57 -07:00
023c925fb6 WinFsp rebranding support 2021-04-12 17:47:34 -07:00
9d5efe5f98 dll: fuse: FileSecurity option 2021-01-25 16:54:59 -08:00
1b7a78edff inc: fuse: fuse_invalidate 2020-10-22 14:46:13 -07:00
6340811974 dll: fuse: fsp_fuse_notify: handle case-insensitive file systems 2020-10-21 15:45:07 -07:00
e54c2288f7 dll: fuse: fuse_notify 2020-10-10 10:15:36 -07:00
a004e4be10 sys: notify implementation 2020-10-08 20:49:24 -07:00
88edf5723e sys: notify implementation 2020-10-08 16:56:31 -07:00
01f91c771d sys: notify implementation 2020-10-07 17:07:35 -07:00
844fb7171e inc,dll,sys: notify implementation skeleton 2020-10-06 16:37:33 -07:00
2ffb8a1c97 sys: FSP_FSCTL_QUERY_WINFSP
The FSP_FSCTL_QUERY_WINFSP code provides a simple method to determine if
the file system backing a file is a WinFsp file system. To use issue a

    DeviceIoControl(Handle, FSP_FSCTL_QUERY_WINFSP, 0, 0, 0, 0, &Bytes, 0)

If the return value is TRUE this is a WinFsp file system.
2020-05-24 21:04:28 -07:00
01744e8193 launcher: Stderr registry setting
This commit adds a new Stderr registry setting that can be used to redirect
the standard error output of a launched service instance.
2020-04-25 00:48:40 -07:00
0268e51099 dll: launch: registry: support Recovery setting 2020-04-16 16:08:55 -07:00
4b5b562307 inc: winfsp_fuse.h: fix memset comment 2020-03-21 15:44:02 -07:00
76ec0420d1 Mute a GCC warning
solves #287
2020-02-29 23:58:51 +01:00
bf6d56ceac inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact0 2020-02-03 16:38:55 -08:00
51350d5a42 inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact 2020-02-03 14:59:23 -08:00
aedf01a384 update source copyright for 2020 2020-01-02 17:50:40 -08:00
5110b3c5a1 sys: dirctl: support directory marker as FUSE style next offset 2019-10-30 16:40:48 -07:00