Add optimized implementations of several MemoryFS
methods
#472
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Type of changes
Checklist
I've added tests for new code.Description
This PR adds dedicated implementations for some
MemoryFS
methods that were still using the baseFS
code. This includes:move
andmovedir
: the right directory entry is simply moved between folder, avoiding useless copy. Closes How to rename files in MemFS? #452 .removetree
: the entry is simply removed from its parents (in the case ofremovetree("/")
, the entry is kept, but cleared)scandir
: the entry being scanned is now kept in memory in a dedicated method (the base implementation useslistdir
+getinfo
, which causedMemoryFS
to lookup for the parent folder over and over).