<div dir="ltr"><div>It would be really nice if Linux had something similar to Windows' Cloud File API [1]. This would allow file sync clients like Nextcloud [2] or Seafile [3] to provide a similar great experience as on Windows. Apple provides similar functionality with iCloud in recent versions of macOS as well. This includes an offline index cache and selectively marking files/folders for offline use (download to cache and sync) while removing others locally to free up space while keeping the files in the cloud. Other people have requested such functionality before (see [4]).</div><div><br></div><div>Depending on the implementation, such functionality could be added to _any_ file system including Samba (see approach of OFS [5] which is unfortunately not very well integrated in Linux desktops).</div><div><br></div><div>With my limited knowledge on the internals of Linux file systems, I imagine one possible implementation as follows:</div><div><br></div><div>Desktop: Protocol to mark files for download or remove local copy.</div><div>Userspace: Sync daemon to keep index and cache copy in sync and resolve conflicts.<br></div><div>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.</div><div><br></div><div>What do you think of the functionality in general?</div><div>What do you think of my implementation idea?</div><div>Which projects of the Linux ecosystem would be involved for such functionality?</div><div>How would you suggest driving this forward?</div><div><br></div><div>[1]: <a href="https://docs.microsoft.com/en-us/windows/win32/cfapi/build-a-cloud-file-sync-engine">https://docs.microsoft.com/en-us/windows/win32/cfapi/build-a-cloud-file-sync-engine</a><br>[2]: <a href="https://nextcloud.com/blog/nextcloud-desktop-client-3-2-with-status-feature-and-virtual-files-available-now/">https://nextcloud.com/blog/nextcloud-desktop-client-3-2-with-status-feature-and-virtual-files-available-now/</a><br></div><div>[3]: <a href="https://blogs.seafile.com/2020/08/08/seafile-drive-client-2-0-next-generation-alternative-to-traditional-file-servers/">https://blogs.seafile.com/2020/08/08/seafile-drive-client-2-0-next-generation-alternative-to-traditional-file-servers/</a></div><div>[4]: <a href="https://stackoverflow.com/questions/66467255/virtual-file-system-api-cloud-provider-synchronization-api-for-linux">https://stackoverflow.com/questions/66467255/virtual-file-system-api-cloud-provider-synchronization-api-for-linux</a></div><div>[5]: <a href="http://offlinefs.sourceforge.net/wiki/">http://offlinefs.sourceforge.net/wiki/</a><br></div><div><br></div><div><br></div></div>