Feature #13272
Updated by Tom Morris almost 6 years ago
Continue where #13111 leaves off, bringing the /users/ tree exported by keep-web up to (at least) a level of functionality and performance similar to arv-mount. Functionality: * Add/remove/update files/dirs in collections * Add/remove collections by name using mkcol/delete * Copy/move files/dirs from one collection to another (possibly /users/* to /c=*/) See #13310 Performance: * Cache the filesystem layout, so a sequence of N webdav requests with the same token and same/overlapping paths don't need to retrieve the whole filesystem layout from API server N times * Use a single cache entry for performance work associated with this any given {collection, token} tuple, regardless of whether it's accessed via /c=UUID/, /by_id/UUID/, /by_id/PDH/, /users/alice/foo/, etc. Unlike arv-mount, webdav writes should continue to be atomic: after concurrent requests to write content A to F and write content B to F, F should contain either A or B, not a mix of the two.