Commit Graph

56 Commits

Author SHA1 Message Date
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
88edf5723e sys: notify implementation 2020-10-08 16:56:31 -07:00
844fb7171e inc,dll,sys: notify implementation skeleton 2020-10-06 16:37:33 -07:00
71995a1fcd dll,sys: FSP_CFG_REJECT_EARLY_IRP
Includes Avast fix for FUSE.
2020-02-07 15:11:24 -08:00
0901fb6477 inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact0 2020-02-03 16:43:15 -08:00
bf6d56ceac inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact0 2020-02-03 16:38:55 -08:00
aedf01a384 update source copyright for 2020 2020-01-02 17:50:40 -08:00
c415c87195 dll: FspMountSet, FspMountRemove 2019-09-24 15:34:01 -07:00
05b37c744b sys,dll: only user mode sends MountManager IOCTL's
(except for cleanup in FspMountdevFini)
2019-09-08 17:45:00 -07:00
4655926d03 sys, dll: mount manager support 2019-09-06 14:24:00 -07:00
565caebe4c sys,dll: FspFileSystemSetMountPoint: mount manager support 2019-09-05 19:58:14 -07:00
3902874ac9 dll: FspFileSystemStartDispatcher
Change default number of threads when ThreadCount==0 is passed.
New min DEFAULT number of threads is 4 and new max DEFAULT number of threads is 16.
The absolute minimum number of threads that any file system dispatcher has remains 2.
2019-06-11 11:51:20 -07:00
a811cd2cf8 sys, dll: extended attributes: checkpoint 2019-03-13 14:29:49 -07:00
d2de5e996c update source copyright for 2019 2019-02-28 10:39:31 -08:00
75ae8daf8f update commercial disclaimer 2018-08-21 18:09:33 -07:00
894ae7b8f3 sys,dll: DeviceControl operation 2018-05-04 13:56:20 -07:00
a48668149b inc: winfsp/launch.h 2018-01-09 11:38:27 -08:00
e111451475 dll: FspLaunch API 2018-01-04 11:08:23 -08:00
9bd9cf4fbd update source copyright notices for 2018 2018-01-03 15:29:38 -08:00
ff155694ce launcher: can now perform DefineDosDevice in LocalSystem context
dll: uses launcher to DefineDosDevice for LocalService, etc.
2017-12-19 14:49:22 -08:00
fc1586eb82 dll: originating process id 2017-07-12 18:53:12 -07:00
f9b8bfc020 src: dll,dotnet: add out-of-line API's 2017-04-08 21:13:21 -07:00
12704a3a4a dll: FspFileSystemSetMountPointEx and related refactoring 2017-02-16 20:30:39 -08:00
2fe4e18d9c dll: FspFileSystemPreflight 2017-01-16 18:48:05 -08:00
7764663386 dll: FspFileSystemPreflight 2017-01-16 14:54:10 -08:00
a57325e8af update source copyright notices for 2017 2017-01-05 13:56:18 -08:00
3e3aa7651f dll: UmFileContextIsUserContext2, UmFileContextIsFullContext support 2016-11-01 18:49:28 -07:00
067a0f1b37 dll: API polishing 2016-10-20 16:32:12 -07:00
cb17b7e2e0 dll: FspFileSystemSetMountPoint: testing 2016-10-18 14:08:58 -07:00
82a9c8e80f dll: FspFileSystemSetMountPoint: now supports directories 2016-10-17 21:04:22 -07:00
bd952253fb cosmetic fix 2016-10-11 11:39:17 -07:00
c7780cf7fa license: switch to GPLv3 from AGPLv3 2016-10-10 21:33:27 -07:00
0c810c52fa sys: IRP_MJ_QUERY_INFORMATION: FileStreamInformation 2016-09-24 13:59:02 -07:00
3ce490d405 inc: fsctl: UmFileNodeIsUserContext2 2016-09-21 10:40:18 -07:00
44c86ff9a4 dll: fuse: use NFS reparse points for POSIX special files 2016-09-08 10:43:01 -07:00
fee75590a8 sys,dll: rename VolumeParams::ReparsePoints* fields 2016-08-21 23:36:09 -07:00
7337f3c6cd sys,dll: symbolic link (reparse point) support: WIP 2016-08-04 11:25:35 -07:00
a8d76d3e46 sys, dll: reparse point (symbolic link) support: WIP 2016-07-25 21:27:48 -07:00
b8b15e8035 dll: FspFileSystemSetMountPoint, FspFileSystemRemoveMountPoint
Ensure that mapped drives get cleaned up even if file system dies
2016-06-22 23:16:22 -07:00
68d79b0c3b dll: convert all initialization to the initonce pattern 2016-06-16 12:17:38 -07:00
0e8d694bdd dll: FSP_FILE_SYSTEM_OPERATION_GUARD now returns NTSTATUS 2016-06-08 22:15:24 -07:00
0f63dddb32 dll: FspFileSystemOpEnter, FspFileSystemOpLeave 2016-06-08 20:43:52 -07:00
da95f05b29 dll: fuse: fuseop.c 2016-06-01 16:44:11 -07:00
1f22bd3517 fuse: implementation checkpoint 2016-05-25 16:35:07 -07:00
c2e38bcc97 src: dll: FspDebugLogRequest, FspDebugLogResponse 2016-05-23 11:09:24 -07:00
bb946d5a3a dll: streamline DLL_PROCESS_ATTACH, DLL_PROCESS_DETACH handling 2016-05-08 16:22:07 -07:00
de973fa5ab dll: FspFileSystemRegister, FspFileSystemUnregister: rename and place in fsctl.c 2016-05-05 11:14:23 -07:00
b1b31b9017 dll: FspFileSystemRegister: fix WinFsp service security descriptor to allow Everyone to start the service 2016-05-04 13:29:34 -07:00
a99e8ac9d2 dll: FspFileSystemRegister: handle the case where service already exists better 2016-05-03 22:53:51 -07:00