Commit Graph

74 Commits

Author SHA1 Message Date
637e8bb8c2 build.version.props: MyFsctlRegisterPath, MyNpRegisterPath, MyEventLogRegisterPath 2022-08-19 17:43:55 +01:00
a731f0e5d8 sys,dll: MountUseMountmgrFromFSD 2022-06-27 17:28:24 +01:00
47aa53c70a dll: FspFsctlServiceVersion
During file system volume creation FspFsctlCreateVolume calls FspFsctlServiceVersion
which examines the version of the driver in use and initializes the variables
FspFsctlTransactCode and FspFsctlTransactBatchCode with either the new
FSP_IOCTL_TRANSACT* codes or the old FSP_FSCTL_TRANSACT* codes.
2022-05-27 18:31:36 +01:00
43af829d46 sys,dll,inc: FSP_IOCTL_TRANSACT 2022-05-16 21:40:01 +01:00
00d4aba946 github: winfsp org 2022-03-02 18:01:21 +00:00
751eaa69df update source copyright to 2022 2022-01-07 17:30:49 +00: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
2d5d058d2f dll: FspFsctlStartService:make thread safe 2020-12-19 11:05:24 -08:00
844fb7171e inc,dll,sys: notify implementation skeleton 2020-10-06 16:37:33 -07:00
aa3beba928 sys: silo support 2020-06-05 15:47:19 -07:00
aedf01a384 update source copyright for 2020 2020-01-02 17:50:40 -08: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
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
9501b5771d inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS: fine-grained timeouts 2018-04-21 11:53:14 -07:00
9bd9cf4fbd update source copyright notices for 2018 2018-01-03 15:29:38 -08:00
4fe85222b1 dll: wksid: well known SID's 2017-12-11 15:03:32 -08:00
5d8384a508 src: dll: FspFsctlFixServiceSecurity
- fix GetEffectiveRightsFromAclW ERROR_CIRCULAR_DEPENDENCY
2017-04-12 10:50:27 -07:00
a57325e8af update source copyright notices for 2017 2017-01-05 13:56:18 -08: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
817beebb63 inc: fsctl: FSP_FSCTL_VOLUME_PARAMS changes:
- increase size of VolumePrefix
- add FileSystemName field (currently unused)
2016-09-20 15:37:42 -07:00
a4e2ad9dd6 dll: FspFsctlStop: fix problem in call to DeviceIoControl
- The DeviceIoControl was invoked in an incorrect fashion that nevertheless worked in Win64, but not Win32.
2016-07-28 14:56:06 -07:00
9b93c766c3 dll: fsctl, fuse: preflight check 2016-06-02 20:21:34 -07:00
222f015273 src: dll: FspFsctlStartService: return STATUS_NO_SUCH_DEVICE when WinFsp FSD does not exist 2016-05-19 19:17:07 -07:00
9addfa5899 dll: FspEventLogRegister, FspEventLogUnregister 2016-05-06 15:05:36 -07:00
de973fa5ab dll: FspFileSystemRegister, FspFileSystemUnregister: rename and place in fsctl.c 2016-05-05 11:14:23 -07:00
cbb7d943bd dll: fsctl: FspFsctlStartService 2016-05-04 16:06:14 -07:00
968de4689c inc,src,tst: add AGPLv3 notices 2016-04-25 14:29:05 -07:00
1bcd3cec0a sys, dll: NetworkProvider implementation (NPGetConnection) 2016-04-19 14:29:07 -07:00
7ff99da000 update copyright notices for 2016 2016-03-17 14:59:46 -07:00
1b533512d3 sys, dll: FSP_FSCTL_STOP 2016-02-16 20:37:13 -08:00
d1fe27f996 sys: FSP_FSCTL_TRANSACT/FSP_FSCTL_TRANSACT_BATCH 2016-02-15 15:07:05 -08:00
56a9d37135 dll: FspFsctlCreateVolume: use FILE_FLAG_OVERLAPPED when opening control device to allow concurrent DeviceIoControl's 2016-02-13 12:04:28 -08:00
f3d84c7b88 rename *Path to *Name in multiple instances 2016-01-13 15:16:46 -08:00
d2828b3e8c sys: create: open UserMode AccessToken handle in FspFsvolCreatePrepare and close it properly in FspFsvolCreateRequestFini 2016-01-02 16:16:00 -08:00
223b287453 dll: WIP 2015-12-31 22:53:17 -08:00
838adc67bb Major refactoring: testing 2015-12-23 12:30:39 -08:00
41269e9d21 Major refactoring: testing 2015-12-23 12:28:56 -08:00
42762d49ea dll: Major refactoring: WIP 2015-12-23 12:08:50 -08:00
7197501c9a Major refactoring: WIP 2015-12-20 10:57:45 -08:00
3ae924e3f9 dll: FspFsctlTransact: bug fix 2015-12-15 19:09:21 -08:00
8f188914cd dll: GlobalDevicePath: bug fix 2015-12-15 19:04:45 -08:00
825f4ed2ef dll: remove references to StringCbPrintf*() 2015-12-15 16:06:02 -08:00
2b1edc8d29 dll: MemAlloc/MemFree 2015-12-15 14:32:11 -08:00
44a17d0b4d dll: FspFileSystemLoop 2015-12-15 13:15:44 -08:00
5d6d938039 sys: FspFsvrtTransact testing 2015-12-12 17:01:30 -08:00
763d4666a7 dll: CreateSelfRelativeSecurityDescriptor now supports self relative security descriptors as input 2015-12-01 17:34:00 -08:00