Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						db319bc3c1 
					 
					
						
						
							
							sys,dll: mount improvements  
						
						... 
						
						
						
						- sys: FspFsvolFileSystemControl: FSCTL_IS_VOLUME_MOUNTED
- dll: mount: Transact0, FspMountNotifyShellDriveChange 
						
						
					 
					
						2023-02-24 12:02:03 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						97c075e744 
					 
					
						
						
							
							sys: FspFsvolQueryDirectoryCopy: add missing continue  
						
						... 
						
						
						
						A single line change in FspFsvolQueryDirectoryCopy fixes GitHub issue #475 .
This commit also includes a test for detecting duplicate directory entries.
Credit for the investigation and reproduction of this issue goes to GitHub
user @hach-que. 
						
						
					 
					
						2023-02-16 17:07:59 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						52e6aa97b5 
					 
					
						
						
							
							build: sys: pacify hardware center validation  
						
						... 
						
						
						
						Infverif /k no longer likes "undecorated" [DefaultInstall] sections and
instead it wants them "architecture decorated". For example,
[DefaultInstall.ntarm64]. So play along to have our driver signed.
For more information see:
https://learn.microsoft.com/en-us/windows-hardware/drivers/develop/creating-a-primitive-driver  
						
						
					 
					
						2023-02-01 22:50:35 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						d626fb9563 
					 
					
						
						
							
							sys: FspReleaseForModWrite  
						
						... 
						
						
						
						In some rare cases and under load the mapped page writer's TopLevelIrp
may be trashed by some outside component (observed on Windows 10 1909).
For this reason remove an assertion that could trigger in debug builds. 
						
						
					 
					
						2023-01-09 15:30:42 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						4f5ad93f00 
					 
					
						
						
							
							Merge branch 'master' into pvt-sxs  
						
						
						
						
					 
					
						2022-10-04 15:44:49 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						b9ca46694e 
					 
					
						
						
							
							sys: FspFileNodeRenameCheck: fix handle oplock break  
						
						
						
						
					 
					
						2022-10-04 15:44:27 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						d1fc5e5d0f 
					 
					
						
						
							
							Merge branch 'pvt-vpb2' into pvt-sxs-vpb  
						
						
						
						
					 
					
						2022-10-03 15:10:06 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						7f73192f8d 
					 
					
						
						
							
							sys: FspVolumeCreate  
						
						... 
						
						
						
						If we have an fsvrt device, mount it via opening the volume.
This ensures that the fsvrt is mounted by the correct fsvol
device early on and remedies a rare case where NTFS crashes
the system when it attempts to mount our fsvrt. 
						
						
					 
					
						2022-10-02 20:10:32 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						c4ecd15c0a 
					 
					
						
						
							
							Merge branch 'master' into pvt-sxs  
						
						
						
						
					 
					
						2022-10-02 17:49:47 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						d71049225e 
					 
					
						
						
							
							sys: FSP_DEVICE_EXTENSION: remove unused SiloContainerId  
						
						
						
						
					 
					
						2022-10-02 17:35:07 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						91d7f3b673 
					 
					
						
						
							
							sys: FspSiloInitialize: always initialize FspSiloList and Mutex  
						
						
						
						
					 
					
						2022-10-01 21:08:01 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						4d1594b1cf 
					 
					
						
						
							
							sys: silo: ensure FspSiloListMutex in critical region  
						
						
						
						
					 
					
						2022-10-01 14:44:17 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						0eb6912296 
					 
					
						
						
							
							sys: FspSiloEnumerate, FspDriverFinalizeDevicesForUnload  
						
						
						
						
					 
					
						2022-10-01 10:47:18 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						c237a55951 
					 
					
						
						
							
							Merge branch 'master' into pvt-sxs  
						
						
						
						
					 
					
						2022-09-29 17:00:10 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						a3765d6360 
					 
					
						
						
							
							sys: silo: FspSiloPostInitialize  
						
						
						
						
					 
					
						2022-09-27 19:55:08 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						2fc2c237d3 
					 
					
						
						
							
							dll: FspFsctlEnumServices  
						
						
						
						
					 
					
						2022-09-10 16:23:14 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						90acd19014 
					 
					
						
						
							
							sys: FspDeviceDelete: remove DBG code  
						
						... 
						
						
						
						FspDeviceDelete was recently changed and its DBG code is no longer valid. 
						
						
					 
					
						2022-09-04 16:58:38 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						9670caa3fe 
					 
					
						
						
							
							sys,dll: FSP_FSCTL_UNLOAD  
						
						
						
						
					 
					
						2022-08-18 11:05:45 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						005d3e4fb0 
					 
					
						
						
							
							sys: FspUnload, FspSxsIdent  
						
						
						
						
					 
					
						2022-08-05 17:41:12 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						f1cfe758ec 
					 
					
						
						
							
							sys: RejectIrpPriorToTransact0 is always 1  
						
						
						
						
					 
					
						2022-06-29 15:08:34 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						a731f0e5d8 
					 
					
						
						
							
							sys,dll: MountUseMountmgrFromFSD  
						
						
						
						
					 
					
						2022-06-27 17:28:24 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						26af6c9363 
					 
					
						
						
							
							sys: convert suitable ERESOURCE to FAST_MUTEX  
						
						
						
						
					 
					
						2022-06-10 16:20:24 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						2e441534a3 
					 
					
						
						
							
							sys: FspFsvolDeviceLockVolumeNotify  
						
						
						
						
					 
					
						2022-06-10 16:20:19 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						66f3620808 
					 
					
						
						
							
							sys: FSP_FSVOL_DEVICE_EXTENSION::VolumeDeleteResource  
						
						
						
						
					 
					
						2022-06-10 16:20:13 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						805742f306 
					 
					
						
						
							
							sys: FSP_FSVOL_DEVICE_EXTENSION::VolumeDeleteResource  
						
						
						
						
					 
					
						2022-06-10 16:20:08 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						18842682c8 
					 
					
						
						
							
							sys: inline FspFsvolDeviceFileRename* and FspFsvolDeviceLockContextTable  
						
						
						
						
					 
					
						2022-06-10 16:19:57 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						a7a526351f 
					 
					
						
						
							
							sys: keep extra fsvol device reference  
						
						... 
						
						
						
						Reference an fsvol device at CREATE time and dereference at CLOSE time,
to ensure that fsvol remains around for DeviceIoControl operations done
after CLEANUP. 
						
						
					 
					
						2022-06-09 14:28:31 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						69257949ac 
					 
					
						
						
							
							sys: FspCompareUnicodeString  
						
						
						
						
					 
					
						2022-06-02 13:09:40 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						c7b3312cf6 
					 
					
						
						
							
							sys: disable FSP_FILE_NODE_NO_PGIO  
						
						
						
						
					 
					
						2022-05-17 23:44:16 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						c0fa5696d7 
					 
					
						
						
							
							sys: FspVolumeFastTransact  
						
						
						
						
					 
					
						2022-05-17 17:25:18 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						43af829d46 
					 
					
						
						
							
							sys,dll,inc: FSP_IOCTL_TRANSACT  
						
						
						
						
					 
					
						2022-05-16 21:40:01 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						df4c19c113 
					 
					
						
						
							
							sys: FSP_FILE_NODE_NO_PGIO  
						
						
						
						
					 
					
						2022-04-19 15:21:54 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						deaf475861 
					 
					
						
						
							
							sys: FSP_ENTER_FIO: handle bogus fast I/O to fsctl device  
						
						
						
						
					 
					
						2022-04-19 14:29:29 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						1a879e3302 
					 
					
						
						
							
							inc, src: PostDispositionWhenNecessaryOnly  
						
						... 
						
						
						
						- Rename PostDispositionForDirOnly to PostDispositionWhenNecessaryOnly
- Implement PostDispositionWhenNecessaryOnly across the board 
						
						
					 
					
						2022-04-02 12:48:35 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						98421fe11b 
					 
					
						
						
							
							inc,sys,tst: fsctl: PostDispositionForDirOnly  
						
						
						
						
					 
					
						2022-04-01 20:54:54 +01:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						d816d607f4 
					 
					
						
						
							
							sys: FspFsvolDeviceDirInfoCacheItemSizeMax: increase to 64K  
						
						
						
						
					 
					
						2022-03-24 18:10:04 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						20680fa5b5 
					 
					
						
						
							
							sys: FastIo: read/write implementation  
						
						
						
						
					 
					
						2022-03-20 20:31:54 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						29251dc2be 
					 
					
						
						
							
							sys, dll: convert memory barriers to interlocked operations  
						
						
						
						
					 
					
						2022-01-19 10:55:46 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						04c2f0120c 
					 
					
						
						
							
							sys: remove wait group (Wgroup) functionality  
						
						
						
						
					 
					
						2022-01-17 14:30:06 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						228f1d658d 
					 
					
						
						
							
							sys: FspVolumeNotify: allow multiple outstanding calls to FspFileSystemNotifyBegin  
						
						
						
						
					 
					
						2022-01-15 15:46:56 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						57fce78ff3 
					 
					
						
						
							
							sys: FspVolumeNotifyWork: always acquire the rename lock shared  
						
						
						
						
					 
					
						2022-01-12 15:43:05 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						751eaa69df 
					 
					
						
						
							
							update source copyright to 2022  
						
						
						
						
					 
					
						2022-01-07 17:30:49 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						41cc70e573 
					 
					
						
						
							
							ARM64: initial port  
						
						
						
						
					 
					
						2021-12-07 14:40:28 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						c208e0ecbd 
					 
					
						
						
							
							sys: cache FileDesc->DispositionStatus  
						
						... 
						
						
						
						DeleteFileW and RemoveDirectoryW in recent versions of Windows 10 have
been changed to perform a FileDispositionInformationEx with POSIX
semantics and if that fails to retry with FileDispositionInformation.
Unfortunately this is done even for legitimate error codes such as
STATUS_DIRECTORY_NOT_EMPTY.
This means that user mode file systems have to do unnecessary CanDelete
checks even when they support FileDispositionInformationEx. The extra
check incurs extra context switches, and in some cases it may also be
costly to compute (e.g. FUSE).
We optimize this away by storing the status of the last CanDelete check
in the FileDesc and then continue returning the same status code for
all checks for the same FileDesc. 
						
						
					 
					
						2021-12-04 12:36:12 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						c32b1c19c2 
					 
					
						
						
							
							sys: FspFsvolQueryDirectoryRetry: early exit when pattern not wild  
						
						
						
						
					 
					
						2021-12-03 17:20:50 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						00219f29cf 
					 
					
						
						
							
							sys: POSIX rename improvements  
						
						
						
						
					 
					
						2021-11-25 10:35:22 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						c4f994f8f6 
					 
					
						
						
							
							sys: FspFsvolSetDispositionInformation  
						
						... 
						
						
						
						return STATUS_FILE_DELETED if file is already deleted 
						
						
					 
					
						2021-11-24 18:31:48 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						91211f6ccb 
					 
					
						
						
							
							sys: reimplement POSIX unlink  
						
						
						
						
					 
					
						2021-11-24 16:03:31 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						d72fe2ee33 
					 
					
						
						
							
							sys: FspFsvolSetDispositionInformation: ignore FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK flag  
						
						
						
						
					 
					
						2021-11-19 17:16:36 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Zissimopoulos 
							
						 
					 
					
						
						
							
						
						9eaaefd154 
					 
					
						
						
							
							sys,dll: debug support for DispositionEx, RenameEx  
						
						
						
						
					 
					
						2021-10-21 15:54:38 +01:00