3 ms·
Dropbox Smart Sync [1] is HSM using reparse points on Windows and kauth on MacOS. We prototyped using fanotify on Linux, but there were a number of edge cases a
by newhouseb 6y ago
Dropbox Smart Sync [1] is HSM using reparse points on Windows and kauth on MacOS. We prototyped using fanotify on Linux, but there were a number of edge cases around moving files and permissions that weren't comfortable with (if I recall correctly).
After we shipped HSM, Microsoft rebuilt the functionality into their Cloud Sync APIs which are used by OneDrive and others [2]. On MacOS, the File Provider APIs [3] provided similar functionality for Cocoa apps using Cocoa APIs but not for POSIX (which made it a no-go for us).
[1] https://www.dropbox.com/smart-sync https://www.dropbox.com/smart-sync
[2] 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...
[3] https://developer.apple.com/documentation/fileprovider https://developer.apple.com/documentation/fileprovider
Source: I started these efforts at Dropbox (but left a couple years ago)