Similar to #5679
DirectoryEntryVersionCache tracks name changes for invalidation of entries returned during readdir call. Tracking works, if there are opened handles to this directory (subscribe/unsubscribe).
We should extend this semantics for in flight requests (carefully subscribe and unsubscribe to the directory while request is alive)
Example: concurrent unlink(a) and mkdir(a)
- mkdir creates, we haven't returned answer yet
- unlink completes
- mkdir can return the data, however we should invalidate entry timeouts
Similar to #5679
DirectoryEntryVersionCachetracks name changes for invalidation of entries returned duringreaddircall. Tracking works, if there are opened handles to this directory (subscribe/unsubscribe).We should extend this semantics for in flight requests (carefully subscribe and unsubscribe to the directory while request is alive)
Example: concurrent unlink(a) and mkdir(a)