Cloud File API
It would be really nice if Linux had something similar to Windows' Cloud File API. This would allow open file sync clients like Nextcloud or Seafile to provide a similar great experience as on Windows. Apple implements such functionality with iCloud Drive in Finder since macOS Catalina (10.15) as well. This includes an offline index cache and selectively marking files/folders for offline use (download to cache and sync) while removing others from the local cache to free up space while keeping the files in the cloud. Other people have requested such functionality before (see StackOverflow).
Depending on the implementation, such functionality could be added to any file system including Samba (see the approach of the more than a decade old FUSE based OFS (GitHub fork) which is unfortunately not very well integrated in Linux desktops).
With my limited knowledge on the internals of Linux file systems, I imagine one possible implementation as follows:
Desktop: Protocol to mark files for download or remove local copy.
Userspace: Sync daemon to keep index and cache copy in sync and resolve
conflicts.
Kernel: Provides a virtual file system (VFS) based on local cache and forwards online-only content requests to another daemon or fuse-filesystem. Additional metadata functionality like status (last synced timestamp, currently syncing, available offline/cloud, ...) should be provided.
- What do you think of the functionality in general?
- What do you think of my implementation idea?
- Which projects of the Linux ecosystem would be involved for such functionality?
- How would you suggest driving this forward?