Windows: reorg RDR_CleanupFile to prevent lock leak
authorJeffrey Altman <jaltman@your-file-system.com>
Sun, 29 Apr 2012 14:31:07 +0000 (10:31 -0400)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 4 May 2012 17:22:59 +0000 (10:22 -0700)
commit50752e2f60d613fda1e70b798a72679bea5d65f8
tree3053f6adc3cc216b99b910feefce73214ba45115
parentf19e9d72466785bb3b543922f153ad8be2395e6e
Windows: reorg RDR_CleanupFile to prevent lock leak

RDR_CleanupFile could fail to drop a file lock if the user does
not have write permission on last handle close even if the file
is readonly or there were no dirty extents to be stored.  The
error handling would return the error immediately and skip the
file lock release.   This patchset changes the logic so that the
user permissions are not tested if the file is located on a readonly
volume or if there are no dirty extents or metadata changes to store.

In addition, if there is an error, skip to unlock processing and
not to function exit processing.

Change-Id: I03f8cbbae5ead2a66ce261631e7e34dd533de930
Reviewed-on: http://gerrit.openafs.org/7292
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
src/WINNT/afsrdr/user/RDRFunction.c