mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 23:10:58 +00:00
Windows: Improve AFSNotifyDelete
Do not call AFSNotifyDelete after the reference count on the DirEntry->ObjectInformation is given up. Log the Parent FID and file name since that is what are passed to the service to perform a delete. Log the actual FID of the object being deleted and not the address of the FID fields. Change-Id: Ic02e2cec625258356d1b08e03a02a7a9c4eb4ce7 Reviewed-on: http://gerrit.openafs.org/6645 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com> Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
This commit is contained in:
parent
9a1d7518b6
commit
fe952116f3
@ -1923,11 +1923,16 @@ AFSNotifyDelete( IN AFSDirectoryCB *DirectoryCB,
|
||||
|
||||
AFSDbgLogMsg( AFS_SUBSYSTEM_FILE_PROCESSING,
|
||||
AFS_TRACE_LEVEL_ERROR,
|
||||
"AFSNotifyDelete failed FID %08lX-%08lX-%08lX-%08lX Status %08lX\n",
|
||||
&DirectoryCB->ObjectInformation->FileId.Cell,
|
||||
&DirectoryCB->ObjectInformation->FileId.Volume,
|
||||
&DirectoryCB->ObjectInformation->FileId.Vnode,
|
||||
&DirectoryCB->ObjectInformation->FileId.Unique,
|
||||
"AFSNotifyDelete failed ParentFID %08lX-%08lX-%08lX-%08lX %wZ FID %08lX-%08lX-%08lX-%08lX Status %08lX\n",
|
||||
stDelete.ParentId.Cell,
|
||||
stDelete.ParentId.Volume,
|
||||
stDelete.ParentId.Vnode,
|
||||
stDelete.ParentId.Unique,
|
||||
&DirectoryCB->NameInformation.FileName,
|
||||
DirectoryCB->ObjectInformation->FileId.Cell,
|
||||
DirectoryCB->ObjectInformation->FileId.Volume,
|
||||
DirectoryCB->ObjectInformation->FileId.Vnode,
|
||||
DirectoryCB->ObjectInformation->FileId.Unique,
|
||||
ntStatus);
|
||||
|
||||
try_return( ntStatus);
|
||||
|
@ -2138,6 +2138,10 @@ try_exit:
|
||||
|
||||
SetFlag( pDirEntry->Flags, AFS_DIR_ENTRY_DELETED);
|
||||
|
||||
AFSNotifyDelete( pDirEntry,
|
||||
AuthGroup,
|
||||
FALSE);
|
||||
|
||||
//
|
||||
// Decrement the reference added during initialization of the DE
|
||||
//
|
||||
@ -2159,10 +2163,6 @@ try_exit:
|
||||
pDirEntry,
|
||||
FALSE); // Leave it in the enum list so the worker cleans it up
|
||||
|
||||
AFSNotifyDelete( pDirEntry,
|
||||
AuthGroup,
|
||||
FALSE);
|
||||
|
||||
//
|
||||
// Tag the parent as needing verification
|
||||
//
|
||||
|
Loading…
Reference in New Issue
Block a user