135 Commits

Author SHA1 Message Date
Bill Zissimopoulos
751eaa69df
update source copyright to 2022 2022-01-07 17:30:49 +00:00
Bill Zissimopoulos
6e3a8f70b2
update source copyright to 2021 2021-05-21 15:57:05 -07:00
Bill Zissimopoulos
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
Bill Zissimopoulos
844fb7171e
inc,dll,sys: notify implementation skeleton 2020-10-06 16:37:33 -07:00
Bill Zissimopoulos
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
Bill Zissimopoulos
aedf01a384
update source copyright for 2020 2020-01-02 17:50:40 -08:00
Bill Zissimopoulos
565caebe4c
sys,dll: FspFileSystemSetMountPoint: mount manager support 2019-09-05 19:58:14 -07:00
Bill Zissimopoulos
804bcc3354 sys: FspVolumeTransactFsext:
- only allow ControlCodes with 0xC00 bits set in Function
2019-06-22 15:40:48 -07:00
Bill Zissimopoulos
f5fde4c0bb sys: FspVolumeTransactFsext 2019-06-22 15:18:16 -07:00
Bill Zissimopoulos
4ae03629f7 sys: FspFsextProvider: load provider driver 2019-06-18 20:28:59 -07:00
Bill Zissimopoulos
b637a72ec8 sys: FspFsextProvider 2019-06-18 16:11:38 -07:00
Bill Zissimopoulos
d2de5e996c
update source copyright for 2019 2019-02-28 10:39:31 -08:00
Bill Zissimopoulos
75ae8daf8f
update commercial disclaimer 2018-08-21 18:09:33 -07:00
Bill Zissimopoulos
9bd9cf4fbd
update source copyright notices for 2018 2018-01-03 15:29:38 -08:00
Bill Zissimopoulos
a57325e8af update source copyright notices for 2017 2017-01-05 13:56:18 -08:00
Bill Zissimopoulos
23eabe5939 sys: FspFsvolFileSystemControlReparsePoint: FSCL_DELETE_REPARSE_POINT 2017-01-03 00:48:12 -08:00
Bill Zissimopoulos
eecca688bc sys: FspFileNodeInvalidateFileInfo: use after setting/deleting reparse point 2017-01-01 12:53:58 -08:00
Bill Zissimopoulos
23d2083d8f sys: FspFsvolFileSystemControlReparsePoint 2017-01-01 11:23:38 -08:00
Bill Zissimopoulos
830985d331 sys: FspFsvolFileSystemControlReparsePoint: STATUS_ACCESS_DENIED 2016-12-31 23:01:40 -08:00
Bill Zissimopoulos
6b37e2ef12 sys: FspFsvolFileSystemControlReparsePointComplete 2016-12-31 21:26:12 -08:00
Bill Zissimopoulos
62dbaf56e3 sys: FspFsvolFileSystemControlReparsePointComplete 2016-12-31 20:50:03 -08:00
Bill Zissimopoulos
d301164609 sys: FspFsvolFileSystemControlReparsePointComplete: STATUS_INVALID_PARAMETER 2016-12-31 16:56:02 -08:00
Bill Zissimopoulos
1713ce9c9e sys: FSP_STATUS_IGNORE_BIT 2016-12-30 19:48:19 -08:00
Bill Zissimopoulos
c6a6fdfc36 sys: FSCTL_GET_RETRIEVAL_POINTERS 2016-12-30 13:42:46 -08:00
Bill Zissimopoulos
843d3f0362 sys: FspFsvolSetBasicInformation: invalidate dir caches 2016-12-30 11:01:52 -08:00
Bill Zissimopoulos
168acb1a1f sys: statistics: implement FSCTL_FILESYSTEM_GET_STATISTICS 2016-12-26 22:45:48 -08:00
Bill Zissimopoulos
ff3436718c sys: FSP_FILE_DESC::DidSetMetadata 2016-12-23 16:26:16 -08:00
Bill Zissimopoulos
671c0c12ab sys: FSCTL_QUERY_PERSISTENT_VOLUME_STATE 2016-12-15 16:15:22 -08:00
Bill Zissimopoulos
127d4cc4eb sys: fsctl: oplock fixes 2016-11-20 15:27:24 -08:00
Bill Zissimopoulos
aa23672b01 sys: fsctl: enable oplock processing 2016-11-18 22:20:03 -08:00
Bill Zissimopoulos
2267eadbca sys: disable oplock requests momentarily for testing 2016-11-10 12:12:35 -08:00
Bill Zissimopoulos
154aa28381 sys: FspFsvolFileSystemControlOplock: WIP 2016-11-10 12:11:35 -08:00
Bill Zissimopoulos
8395b22ddc sys: oplocks: WIP 2016-11-10 12:10:55 -08:00
Bill Zissimopoulos
32c289fa34 sys: FspFsvolFileSystemControlReparsePoint: replace use of RtlEqualUnicodeString with FspFsvolDeviceVolumePrefixInString 2016-10-14 15:13:52 -07:00
Bill Zissimopoulos
bd952253fb cosmetic fix 2016-10-11 11:39:17 -07:00
Bill Zissimopoulos
c7780cf7fa license: switch to GPLv3 from AGPLv3 2016-10-10 21:33:27 -07:00
Bill Zissimopoulos
ccf58122a2 sys: FspFsvolFileSystemControlReparsePoint: comments 2016-09-12 15:27:31 -07:00
Bill Zissimopoulos
be8c29114a sys: FspFsvolFileSystemControlReparsePoint: improve computation of TargetOnFileSystem field when MUP is being used 2016-09-12 15:11:45 -07:00
Bill Zissimopoulos
bd0acf2289 sys,dll: symbolic link testing 2016-09-11 17:04:01 -07:00
Bill Zissimopoulos
f89c91cd10 sys,dll: SYMLINK_FLAG_RELATIVE 2016-09-11 13:18:54 -07:00
Bill Zissimopoulos
af2cc10c15 sys,dll: reparse point testing 2016-09-10 23:00:55 -07:00
Bill Zissimopoulos
165f3ec45d sys,dll: symlink testing 2016-09-09 21:21:24 -07:00
Bill Zissimopoulos
0c07be9628 sys,dll: reparse point testing 2016-09-09 17:21:56 -07:00
Bill Zissimopoulos
5cd0dfb1b9 sys: reparse point testing 2016-09-09 14:42:22 -07:00
Bill Zissimopoulos
fee75590a8 sys,dll: rename VolumeParams::ReparsePoints* fields 2016-08-21 23:36:09 -07:00
Bill Zissimopoulos
f7e0362350 sys,dll: reparse point implementation: WIP 2016-08-15 04:53:11 -07:00
Bill Zissimopoulos
7337f3c6cd sys,dll: symbolic link (reparse point) support: WIP 2016-08-04 11:25:35 -07:00
Bill Zissimopoulos
a8d76d3e46 sys, dll: reparse point (symbolic link) support: WIP 2016-07-25 21:27:48 -07:00
Bill Zissimopoulos
968de4689c inc,src,tst: add AGPLv3 notices 2016-04-25 14:29:05 -07:00
Bill Zissimopoulos
1bcd3cec0a sys, dll: NetworkProvider implementation (NPGetConnection) 2016-04-19 14:29:07 -07:00