Previously, deletion operations (rmdir and unlink) sent a permission request event, but no notification event after successful deletion. Rename operations did the opposite, sending only a notification event after a successful move.
In order to fully support VFSForGit, and to treat these two forms of filesystem modification similarly, we issue both a permission request beforehand, and if the request is granted and the operation successful, a subsequent informational event notification.
We also shift the value of PROJFS_DELETE_PERM left by one bit to leave room in case PROJFS_CREATE_PERM is ever needed in the future.
Thanks for the review, @kivikakk! I'm going to hold off on merging into master until I've gotten some feedback on microsoft/VFSForGit#1288, which is the parallel change in VFSForGit.
Previously, deletion operations (
rmdir
andunlink
) sent a permission request event, but no notification event after successful deletion. Rename operations did the opposite, sending only a notification event after a successful move.In order to fully support VFSForGit, and to treat these two forms of filesystem modification similarly, we issue both a permission request beforehand, and if the request is granted and the operation successful, a subsequent informational event notification.
We also shift the value of
PROJFS_DELETE_PERM
left by one bit to leave room in casePROJFS_CREATE_PERM
is ever needed in the future.