Windows: Avoid deadlock during pending delete cleanup
authorJeffrey Altman <jaltman@your-file-system.com>
Tue, 8 Apr 2014 07:27:26 +0000 (03:27 -0400)
committerJeffrey Altman <jaltman@your-file-system.com>
Tue, 26 Aug 2014 01:23:04 +0000 (21:23 -0400)
commit58e4e4802d4208604a6aa05362454e6174fe3277
tree1901f21a173da2f3abe72b1fdf7d701de2ab42ba
parent1e6fb1b7b7ed32e2035452db9fc221f38a8b4956
Windows: Avoid deadlock during pending delete cleanup

Release the Fcb resource and clear the AFS_DIR_ENTRY_PENDING_DELETE
flag prior to the AFSProcessRequest(AFS_REQUEST_TYPE_CLEANUP_PROCESSING)
if a delete is pending during cleanup of the last FCB open handle.

Failure to do so results in an out of order lock acquisition when
the parent object info tree lock is acquired after the AFSProcessRequest()
call to the service completes.

Change-Id: Id1c770b3dfe669d6804276bbe832af2d215c72dc
Reviewed-on: http://gerrit.openafs.org/11425
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
src/WINNT/afsrdr/kernel/lib/AFSCleanup.cpp