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