From 555412a03f18aff0d30401082ad2946a68bd7694 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Thu, 18 Oct 2012 09:56:12 -0400 Subject: [PATCH] Windows: clear pending delete upon deletion During cleanup processing if the DELETE_PENDING flag is set the service will be told to delete the file when the handle count reaches 1. At that point the file will be deleted and the DELETED flag will be set on the object info object. The DELETE_PENDING flag was not being cleared which could lead to confusion. This patchset clears the flag after deletion. Change-Id: Ib30bb3a5c3a06b8971ac4523e6eacefaaed068ce Reviewed-on: http://gerrit.openafs.org/8253 Tested-by: BuildBot Reviewed-by: Rod Widdowson Reviewed-by: Jeffrey Altman --- src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp b/src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp index d8a7081..0130c3d 100644 --- a/src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp +++ b/src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp @@ -462,6 +462,8 @@ AFSCleanup( IN PDEVICE_OBJECT LibDeviceObject, SetFlag( pCcb->DirectoryCB->Flags, AFS_DIR_ENTRY_DELETED); + ClearFlag( pCcb->DirectoryCB->Flags, AFS_DIR_ENTRY_PENDING_DELETE); + pParentObjectInfo = pObjectInfo->ParentObjectInformation; ASSERT( pParentObjectInfo != NULL); @@ -818,6 +820,8 @@ AFSCleanup( IN PDEVICE_OBJECT LibDeviceObject, SetFlag( pCcb->DirectoryCB->Flags, AFS_DIR_ENTRY_DELETED); + ClearFlag( pCcb->DirectoryCB->Flags, AFS_DIR_ENTRY_PENDING_DELETE); + pParentObjectInfo = pObjectInfo->ParentObjectInformation; ASSERT( pParentObjectInfo != NULL); @@ -1126,6 +1130,8 @@ AFSCleanup( IN PDEVICE_OBJECT LibDeviceObject, SetFlag( pCcb->DirectoryCB->Flags, AFS_DIR_ENTRY_DELETED); + ClearFlag( pCcb->DirectoryCB->Flags, AFS_DIR_ENTRY_PENDING_DELETE); + pParentObjectInfo = pObjectInfo->ParentObjectInformation; ASSERT( pParentObjectInfo != NULL); -- 1.9.4