1592 Commits

Author SHA1 Message Date
Bill Zissimopoulos
637e8bb8c2 build.version.props: MyFsctlRegisterPath, MyNpRegisterPath, MyEventLogRegisterPath 2022-08-19 17:43:55 +01:00
Bill Zissimopoulos
5483dcbd73 dll: FspMountSet_MountmgrDirectory: bug fix 2022-06-29 15:30:36 +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
d7450d740e dll: Mount Manager directory support 2022-06-27 17:27:45 +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
22bf0b09ef dll: FspMountBroadcastDriveChange
Broadcast WM_DEVICECHANGE asynchronously.
2022-06-07 14:06:13 +01:00
Bill Zissimopoulos
0a919d317a dll: FspMountBroadcastDriveChange
Broadcast WM_DEVICECHANGE asynchronously.
2022-06-07 13:11:23 +01:00
Bill Zissimopoulos
a90f19dbe3 dll: FspMountBroadcastDriveChange: fix drive change unitmask 2022-06-03 12:10:54 +01:00
Bill Zissimopoulos
69257949ac sys: FspCompareUnicodeString 2022-06-02 13:09:40 +01:00
Bill Zissimopoulos
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
Bill Zissimopoulos
6764269a49 dll: MountBroadcastDriveChange registry setting: BSF_POSTMESSAGE 2022-05-25 20:52:54 +01:00
Bill Zissimopoulos
41d69d7186 dll: MountBroadcastDriveChange registry setting 2022-05-25 16:55:54 +01:00
Bill Zissimopoulos
f6e6660362 dll: fuse: gracefully handle ENOSYS from xattr calls 2022-05-23 22:07:37 +01:00
Bill Zissimopoulos
9ae9b8ff2c dll: fuse: uidmap option and AzureAD support 2022-05-23 17:53:39 +01:00
Bill Zissimopoulos
74bb51ae07 shared: posix: FspPosixSetUidMap 2022-05-19 00:50:38 +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
dd907a44ad dll: fuse: ensure MaxComponentLength is initialized 2022-04-25 17:41:42 +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
e5879a9cb0 dll: fuse: getpath 2022-04-12 15:44:54 +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
7527155cb8 dll: dirbuf:
- FspFileSystemAcquireDirectoryBufferEx takes hint for initial capacity.
- Buffer allocation strategy has been improved to minimize reallocation.
- Quick sort of directory entries now implements median of three partitioning. This improves performance of sorting already sorted data.
2022-03-22 16:47:40 +00:00
Bill Zissimopoulos
20680fa5b5 sys: FastIo: read/write implementation 2022-03-20 20:31:54 +00:00
Bill Zissimopoulos
00d4aba946 github: winfsp org 2022-03-02 18:01:21 +00:00
Bill Zissimopoulos
fadcd84ca9 winfsp.dev website 2022-03-02 17:36:14 +00:00
Bill Zissimopoulos
0c90a69b27
dotnet: Interop.cs: fix newlines 2022-02-03 16:15:24 +00:00
Bill Zissimopoulos
cf13cac438
dll: np: NPGetUniversalName implementation 2022-02-03 15:32:35 +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
30d09b4a11
shared: DistinctPermsForSameOwnerGroup: change default to TRUE 2022-01-07 17:50:20 +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
8ce6836674
dll: FspFileSystemSearchDirectoryBuffer: fix #351 2021-12-03 14:47:19 +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