Bill Zissimopoulos
751eaa69df
update source copyright to 2022
2022-01-07 17:30:49 +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
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
bb3e92df6c
sys, dll: implement POSIX semantics for Rename
2021-10-21 15:39:25 +01:00
Bill Zissimopoulos
19823d84de
sys,dll,inc: implement new Delete design and POSIX semantics
2021-10-19 15:23:15 +01:00
Bill Zissimopoulos
6e3a8f70b2
update source copyright to 2021
2021-05-21 15:57:05 -07:00
Bill Zissimopoulos
b2e677a3d3
sys: FspFsvolSetBasicInformation: issue #362
...
According to the FILE_BASIC_INFORMATION doc a file system should not update a file timestamp when it receives a value of -1 in the corresponding time field.
This commit converts a -1 timestamp to a 0 timestamp; this directs a WinFsp file system not to update the corresponding file timestamp.
This commit fixes issue #362
2021-04-06 13:41:35 -07:00
Bill Zissimopoulos
32a5b2bc64
tst: winfsp-tests: rename_backslash_test
2020-10-01 11:46:55 -07:00
Bill Zissimopoulos
5045403d85
sys: FspFsvolSetRenameInformation: tolerate trailing backslash on target name
2020-09-28 16:01:38 -07:00
Bill Zissimopoulos
aedf01a384
update source copyright for 2020
2020-01-02 17:50:40 -08:00
Bill Zissimopoulos
b18df6bba8
sys: release rename lock when doing oplock breaks
2019-12-08 14:27:02 -08:00
Bill Zissimopoulos
7f084787e3
sys: fix issues found by static analyzer
2019-06-28 15:21:36 -07:00
Bill Zissimopoulos
c01402443d
wslinux support: ATOMIC_CREATE_ECP_CONTEXT
2019-04-27 15:30:57 -07:00
Bill Zissimopoulos
7cb29a4db3
sys: remove unused variables
2019-04-18 17:22:58 -07:00
Bill Zissimopoulos
969651f5f6
sys: improve support for FileStatLxInformation
2019-04-18 15:57:22 -07:00
Bill Zissimopoulos
2b0d204ff1
sys: FileStatInformation is missing on old WDK's
2019-04-16 21:28:09 -07:00
Bill Zissimopoulos
851d0758d9
sys: define FSP_FILE_STAT*_INFORMATION that are missing on some WDK's
2019-04-16 15:55:13 -07:00
Bill Zissimopoulos
ce83619728
sys: FileStatLxInformation and friends
2019-04-15 15:04:31 -07:00
Bill Zissimopoulos
351b4f5294
sys: fileinfo: fix unnecessary STATUS_BUFFER_TOO_SMALL
2019-04-03 09:52:00 -07:00
Bill Zissimopoulos
732e6cc38c
grand EaSize patch; passes winfsp-tests and ifstest
2019-03-21 18:14:15 -07:00
Bill Zissimopoulos
62b0e889b2
sys: FileEaInformation and EaSize support
2019-03-21 14:05:17 -07:00
Bill Zissimopoulos
d2de5e996c
update source copyright for 2019
2019-02-28 10:39:31 -08:00
Bill Zissimopoulos
4d49039abe
sys: FspFastIoQueryOpen: access control
...
Extend the WinFsp kernel-user mode protocol to allow passing
security descriptors that can then be used for access control
during FastIoQueryOpen.
2018-10-04 13:21:29 -07:00
Bill Zissimopoulos
1aab4662e5
inc, sys, dotnet: FSP_FSCTL_VOLUME_PARAMS::AllowOpenInKernelMode
2018-10-02 11:47:51 -07:00
Bill Zissimopoulos
02a4d3641e
sys: implement FastIo operations
...
FspFastIoQueryOpen: return FALSE when RelatedFileObject is not NULL
2018-10-02 11:12:26 -07:00
Bill Zissimopoulos
3dfbdc313b
sys: implement FastIo operations
...
DEBUGTEST
2018-10-02 11:12:25 -07:00
Bill Zissimopoulos
3a286324ff
sys: implement FastIo operations
...
FspFastIoQueryOpen
2018-10-02 11:12:25 -07:00
Bill Zissimopoulos
0d849ffcc8
sys: implement FastIo operations
...
FastIoQueryBasicInfo, FastIoQueryStandardInfo, FastIoQueryNetworkOpenInfo
2018-10-02 11:12:24 -07: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
92e7dbad21
sys: Create and Rename requests should include the originating process PID
2017-10-11 16:28:50 -07:00
Bill Zissimopoulos
4812f5bbd0
sys: Create and Rename requests should include the originating process PID
2017-10-11 16:25:22 -07:00
Bill Zissimopoulos
26485ffbd6
sys: originating process id
2017-07-12 20:54:12 -07:00
Bill Zissimopoulos
a57325e8af
update source copyright notices for 2017
2017-01-05 13:56:18 -08:00
Bill Zissimopoulos
27315c1111
sys: FspFsvolQueryInformation,FspFsvolSetInformation:
...
- return STATUS_INVALID_PARAMETER on volume handles
2016-12-30 14:40:28 -08:00
Bill Zissimopoulos
bd38a39dbd
sys: FileHardLinkInformation,FileLinkInformation: return STATUS_NOT_SUPPORTED
2016-12-30 14:14:54 -08:00
Bill Zissimopoulos
766734a8e3
sys: FileAlternateNameInformation: return STATUS_OBJECT_NAME_NOT_FOUND
2016-12-30 13:59:56 -08:00
Bill Zissimopoulos
843d3f0362
sys: FspFsvolSetBasicInformation: invalidate dir caches
2016-12-30 11:01:52 -08:00
Bill Zissimopoulos
5824a24bf4
sys: FspFileNodeNotifyChange: significant improvements
2016-12-27 21:30:56 -08:00
Bill Zissimopoulos
ff3436718c
sys: FSP_FILE_DESC::DidSetMetadata
2016-12-23 16:26:16 -08:00
Bill Zissimopoulos
69f6f661ba
sys,dll: Cleanup, file times overhaul
2016-12-23 15:30:39 -08:00
Bill Zissimopoulos
7b94f2bebf
sys: FspFileNodeSetFileInfo: TruncateOnClose
2016-12-21 16:45:01 -08:00
Bill Zissimopoulos
c897ddd864
sys,dll: Cleanup/TruncateOnClose overhaul
2016-12-21 16:09:24 -08:00
Bill Zissimopoulos
eec63332e0
sys: fileinfo: correctly set AllInformation and StandardInformation DeletePending flag
2016-12-19 13:36:11 -08:00
Bill Zissimopoulos
94ea4f65f7
sys: FspFileNameIsValid, FspFileNameIsValidPattern: check path component length
...
tst: memfs: allow filenames to be 512 chars long
2016-12-18 11:51:23 -08:00
Bill Zissimopoulos
299605b8fc
sys: FILE_ATTRIBUTE_DIRECTORY support
2016-12-17 12:13:53 -08:00
Bill Zissimopoulos
6de998ff98
sys: rename: capture correct security context
2016-12-12 13:20:42 -08:00