c0fa5696d7
sys: FspVolumeFastTransact
2022-05-17 17:25:18 +01: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
0af0bfbe7c
sys: FspFsvolClose: convert CLOSE requests to synchronous when above the IOQ watermark
2021-01-25 12:45:33 -08:00
aedf01a384
update source copyright for 2020
2020-01-02 17:50:40 -08:00
781deff06f
sys: default TransactTimeout changes
2019-06-11 17:53:34 -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
9bd9cf4fbd
update source copyright notices for 2018
2018-01-03 15:29:38 -08:00
a57325e8af
update source copyright notices for 2017
2017-01-05 13:56:18 -08:00
a1af8ff921
sys: Queued Events and use fin FSP_IOQ
2016-12-03 19:41:26 -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
380ec074ca
sys: ioq: clarify comment
2016-07-23 18:43:02 -07:00
968de4689c
inc,src,tst: add AGPLv3 notices
2016-04-25 14:29:05 -07:00
7499c964b9
sys: FspVolumeTransact: upper bound on loop guarantees forward progress!
2016-04-12 15:42:06 -07:00
7ff99da000
update copyright notices for 2016
2016-03-17 14:59:46 -07:00
2c9cd46e4b
sys: ioq: FspIoqRemoveExpired: add InterruptTime parameter
2016-02-17 17:01:07 -08:00
8164ebf370
sys: ioq: PendingIrpEvent is now a SynchronizationEvent, instead of a NotificationEvent
2016-02-16 17:44:32 -08:00
440f66a786
sys: ioq: use FsRtlCancellableWaitForSingleObject
2016-02-14 14:31:48 -08:00
acf1b453fc
sys: FspIopRetryCompleteIrp() and related changes
2016-01-27 13:41:37 -08:00
eda129ae81
sys: FSP_IOCMPL_DISPATCH now returns NTSTATUS
2016-01-27 11:59:52 -08:00
af5745d5fc
sys: FspIopDispatchRetryComplete()
2016-01-26 19:52:36 -08:00
ffbe13e6d9
sys: ioq: FspIoqRetryCompleteIrp(), FspIoqNextCompleteIrp()
2016-01-26 17:13:34 -08:00
0de4ba4f1b
sys: ioq: FspIoqRetryCompleteIrp(), FspIoqNextCompletedIrp()
2016-01-26 17:01:26 -08:00
69fd1ebd6c
sys: store FileInfo in FileNode's
2016-01-23 14:01:53 -08:00
0bedee7d5f
sys: introduce private NTSTATUS codes FSP_STATUS_POST_IOQ* and ensure that Irp is not touched after STATUS_PENDING
2016-01-17 14:12:05 -08:00
e885905c77
sys: ioq: IRP can no longer be canceled once they enter the Processing state
2016-01-11 17:14:06 -08:00
9b93df1788
sys: FspIoqNextPendingIrp: add BoundaryIrp parameter
2016-01-05 17:10:44 -08:00
bd5b1e59c1
sys: FspIoqPostIrpEx
2016-01-05 15:50:37 -08:00
3f7102a2ed
sys: ioq
2015-12-28 16:20:35 -08:00
72fdea5e78
sys: ioq
2015-12-28 11:17:37 -08:00
3d381145e3
sys: ioq
2015-12-28 09:51:55 -08:00
e91255cef3
sys: Ioq bucket count
2015-12-27 22:23:07 -08:00
6d2a56cea0
Major refactoring: testing
2015-12-27 22:08:56 -08:00
5fb9953a3a
sys: ioq: now includes a dictionary for fast translation of IrpHint to Irp
2015-12-27 17:49:17 -08:00
6f8e169bc4
sys: ioq: implement IRP capacity
2015-12-23 11:14:40 -08:00
e53ba61f84
sys: ioq: change IRP timeout handling
2015-12-22 21:58:39 -08:00
7197501c9a
Major refactoring: WIP
2015-12-20 10:57:45 -08:00
460c4e0c55
sys: implement FsvrtDeviceExpirationRoutine and supporting infra
2015-12-16 16:11:29 -08:00
9e82247366
sys: ioq: now supports IRP expiration
2015-12-16 10:43:33 -08:00
aee12e1c5f
sys: FspFsvrtTransact: now has timeout
2015-12-14 12:36:40 -08:00
c3c690c46b
sys: ioq: couple of fixes
2015-12-08 14:00:13 -08:00
18025573a3
sys: rename FspIopCompleteRequest to FspIopCompleteIrp
2015-12-06 18:06:19 -08:00
2668e05748
sys: WIP
2015-11-28 13:17:46 -08:00
adc662b6c3
sys: static analysis fixes
2015-11-28 00:39:22 -08:00
3bc7f44dd9
sys: static analysis fixes
2015-11-28 00:31:26 -08:00
6ba60198ab
sys: FspIoqStop()
2015-11-25 12:16:31 -08:00
0f0b1f2c46
sys: ioq: event becomes signaled when ioq is disabled
2015-11-24 20:21:01 -08:00