From 620ebd9e72d2c3433df3c838e547e82733b2c194 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Thu, 25 Nov 2021 12:14:48 +0000 Subject: [PATCH] inc: winfsp.h: FspCleanupDelete: POSIX semantics --- doc/WinFsp-API-winfsp.h.md | 6 +++++- inc/winfsp/winfsp.h | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/WinFsp-API-winfsp.h.md b/doc/WinFsp-API-winfsp.h.md index fd9a85c3..45dae1ce 100644 --- a/doc/WinFsp-API-winfsp.h.md +++ b/doc/WinFsp-API-winfsp.h.md @@ -148,7 +148,11 @@ a file or directory in Windows is a three-stage process where the file is first tested to see if the delete can proceed and if the answer is positive the file is then deleted during Cleanup. -When this flag is set, this is the last outstanding cleanup for this particular file node. +If the file system supports POSIX unlink (FSP\_FSCTL\_VOLUME\_PARAMS :: +SupportsPosixUnlinkRename), then a Cleanup / FspCleanupDelete operation may arrive while +there are other open file handles for this particular file node. If the file system does not +support POISX unlink, then a Cleanup / FspCleanupDelete operation will always be the last +outstanding cleanup for this particular file node. - FspCleanupSetAllocationSize - diff --git a/inc/winfsp/winfsp.h b/inc/winfsp/winfsp.h index 44e6c853..a5d7f69b 100644 --- a/inc/winfsp/winfsp.h +++ b/inc/winfsp/winfsp.h @@ -367,7 +367,11 @@ typedef struct _FSP_FILE_SYSTEM_INTERFACE * tested to see if the delete can proceed and if the answer is positive the file is then * deleted during Cleanup. * - * When this flag is set, this is the last outstanding cleanup for this particular file node. + * If the file system supports POSIX unlink (FSP_FSCTL_VOLUME_PARAMS :: + * SupportsPosixUnlinkRename), then a Cleanup / FspCleanupDelete operation may arrive while + * there are other open file handles for this particular file node. If the file system does not + * support POISX unlink, then a Cleanup / FspCleanupDelete operation will always be the last + * outstanding cleanup for this particular file node. * *
  • FspCleanupSetAllocationSize - * The NTFS and FAT file systems reset a file's allocation size when they receive the last